Bert Belder
|
258bc13100
|
port: make ep_port_delete() thread-safe
|
2017-09-25 18:35:37 +02:00 |
|
Bert Belder
|
7476633975
|
port: add a per-port lock
|
2017-09-25 18:35:36 +02:00 |
|
Bert Belder
|
f1383cadfd
|
port: un-DRY closing IOCP port, don't fail delete if CloseHandle fails
|
2017-09-25 18:35:30 +02:00 |
|
Bert Belder
|
45728a1e90
|
api: reference the epoll port by windows HANDLE
|
2017-09-25 18:15:17 +02:00 |
|
Bert Belder
|
fd83d12648
|
port: move closing the IOCP port to it's own internal API
|
2017-09-25 18:15:17 +02:00 |
|
Bert Belder
|
3c2c4bfce7
|
api: use HANDLE and SOCKET types instead of their underlying types
|
2017-09-25 18:15:17 +02:00 |
|
Bert Belder
|
16f62017ba
|
epoll: add global init function
|
2017-09-25 18:15:06 +02:00 |
|
Bert Belder
|
049a7b8be2
|
reflock-tree: add mechanism for pointer-safe tree lookups
|
2017-09-25 17:53:11 +02:00 |
|
Bert Belder
|
b9f4578a96
|
socket: use safe_container_of() in ep_sock_find_in_tree()
|
2017-09-25 17:52:08 +02:00 |
|
Bert Belder
|
1e24f44238
|
util: add safe_container_of() macro definition
|
2017-09-25 17:51:43 +02:00 |
|
Bert Belder
|
bb23a2b9f0
|
reflock: make it much simpler
|
2017-09-25 17:51:03 +02:00 |
|
Bert Belder
|
e4454c7e94
|
all-in-one: remove unnecessary blank lines from build output
|
2017-09-23 14:15:54 +02:00 |
|
Bert Belder
|
73d22b4419
|
init: rename global init functions to be more explicit
|
2017-09-23 14:05:35 +02:00 |
|
Bert Belder
|
a94fbfd459
|
test: add reflock test
|
2017-09-23 14:05:34 +02:00 |
|
Bert Belder
|
6029e38d79
|
reflock: first version of combined reference counter and lock
|
2017-09-23 14:05:30 +02:00 |
|
Bert Belder
|
4a0354a6d2
|
nt: add definitions for keyed event support
|
2017-09-23 13:58:20 +02:00 |
|
Bert Belder
|
773d9cace3
|
util: add static_assert() polyfill for clang
|
2017-09-23 13:58:20 +02:00 |
|
Bert Belder
|
d0a8ae1ca3
|
all-in-one: rebuild epoll-all-in-one.c
|
2017-09-14 16:42:20 +02:00 |
|
Bert Belder
|
91cb493efc
|
poll-group: use new queue APIs to move groups inside the allocator queue
|
2017-09-14 16:41:17 +02:00 |
|
Bert Belder
|
048d2cc363
|
queue: add internal queue_move_first() and queue_move_last() APIs
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
34df608b98
|
queue: move implementation from header to queue.c
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
2a8fd0f5a2
|
epoll: rename definition to _EPOLL_MAX_COMPLETION_COUNT
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
3705120f2c
|
epoll: merge all public APIs into epoll.c
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
b2c69365e8
|
port: make ep_port_(add|del)_socket take ep_sock_t instead of tree_node_t
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
0274e9d46b
|
port: add internal ep_port_find_socket() API
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
cc3bcb8490
|
port: move implementation to port.c
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
4c049baaf5
|
socket: rename ep_sock_find() to ep_sock_find_in_tree()
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
565ded935d
|
tree: allow keys with value zero
|
2017-09-14 16:41:16 +02:00 |
|
Bert Belder
|
cd7669ef66
|
src: move AFD functions to afd.c, rewrite ep_sock initialization
|
2017-09-14 16:41:11 +02:00 |
|
Bert Belder
|
83efbfe2c7
|
epoll: add omitted 'static' keyword
|
2017-09-14 14:08:50 +02:00 |
|
Bert Belder
|
cafefc14cb
|
all-in-one: rebuild
|
2017-09-14 04:34:13 +02:00 |
|
Bert Belder
|
6363abe641
|
socket: get rid of _ep_sock_maybe_free()
|
2017-09-14 04:34:13 +02:00 |
|
Bert Belder
|
ec539fadfc
|
socket: cancel poll request when socket is deleted w/ EPOLL_CTL_DEL
|
2017-09-14 04:34:12 +02:00 |
|
Bert Belder
|
34a9a4d4a7
|
poll-group: rename user_count to group_size
|
2017-09-14 04:34:12 +02:00 |
|
Bert Belder
|
dc742fa01e
|
poll-group: rename _DS_MAX_USERS to _POLL_GROUP_MAX_SIZE
|
2017-09-14 04:06:18 +02:00 |
|
Bert Belder
|
d40787cd18
|
all-in-one: remove trailing whitespace from license during build
|
2017-09-14 04:01:42 +02:00 |
|
Bert Belder
|
427e0a0209
|
socket: use actual enum type for poll_status field
|
2017-09-14 03:54:54 +02:00 |
|
Bert Belder
|
0938dfda83
|
socket: make the poll request an integral part of struct ep_sock
|
2017-09-14 03:54:54 +02:00 |
|
Bert Belder
|
fe967a01a5
|
socket: make ep_sock_update() more readable
|
2017-09-14 03:54:54 +02:00 |
|
Bert Belder
|
6037bcf8ab
|
socket: turn the 'deleted' flag into a bitfield
|
2017-09-14 03:54:49 +02:00 |
|
Bert Belder
|
3af19ec71c
|
socket: get rid of _(set|clear)_latest_poll_req() functions
|
2017-09-14 03:13:18 +02:00 |
|
Bert Belder
|
022f3fcbd7
|
socket: rename latest_poll_req_events to pending_events
|
2017-09-14 03:08:02 +02:00 |
|
Bert Belder
|
bc82503d09
|
socket: make struct member order more logical
|
2017-09-14 03:06:33 +02:00 |
|
Bert Belder
|
84e92cbeaa
|
poll-req: make poll_req and ep_sock lifecycles coincide completely
|
2017-09-14 03:03:37 +02:00 |
|
Bert Belder
|
423e85df94
|
socket: do not track or use poll_req_count, use poll_status instead
|
2017-09-14 03:03:12 +02:00 |
|
Bert Belder
|
99ddd49dfe
|
socket: use an enum to track poll { idle, pending, cancelled } status
|
2017-09-14 03:02:46 +02:00 |
|
Bert Belder
|
6ea33eca54
|
socket: make ep_sock_update() control flow a little more readable
|
2017-09-14 03:02:46 +02:00 |
|
Bert Belder
|
0155abf6e2
|
socket: remove _is_latest_poll_req()
|
2017-09-14 03:02:45 +02:00 |
|
Bert Belder
|
0bd24cc1e5
|
port: do not track poll request count
|
2017-09-14 03:02:45 +02:00 |
|
Bert Belder
|
ee6a1e300a
|
socket: remove unused unused() statement
See what I did there?
|
2017-09-14 03:02:45 +02:00 |
|