188 Commits

Author SHA1 Message Date
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
Bert Belder
b4aeb52a6b poll-request: fix typo in poll_req_cancel() 2017-09-14 03:02:45 +02:00
Bert Belder
78a607b379 all-in-one: check in the latest build 2017-09-14 01:46:56 +02:00
Bert Belder
c4f9f5c3d7 epoll: drop include <stdio.h> 2017-09-14 01:45:41 +02:00
Bert Belder
2a7b9be01d test: add test-ctl-fuzz 2017-09-14 01:35:37 +02:00
Bert Belder
280cc30074 test: add test-multi-poll 2017-09-14 01:35:37 +02:00
Bert Belder
ccf4242a5e test-udp-pings: don't use getaddrinfo() to resolve localhost 2017-09-14 01:35:37 +02:00
Bert Belder
5d26c4df71 test-udp-pings: use #defines rather than constants for test parameters 2017-09-14 01:35:37 +02:00
Bert Belder
57094513ef test-udp-pings: remove unnecessary perror() call 2017-09-14 01:35:37 +02:00
Bert Belder
12abb04d46 test-udp-pings: deal with compiler warnings 2017-09-14 01:35:29 +02:00
Bert Belder
b8a2e2ea84 test-udp-pings: increase socket count to 10k 2017-09-14 01:35:29 +02:00
Bert Belder
1c32c9e030 test-udp-pings: reduce run time 2017-09-14 01:35:29 +02:00
Bert Belder
8e8df010f3 test-udp-pings: format source code 2017-09-14 01:35:29 +02:00
Bert Belder
a8807482b2 port: free the port through _ep_port_free() 2017-09-14 00:56:22 +02:00
Bert Belder
45aaa10a62 poll-group: use 1 driver socket per N sockets, vs. 1 for *all* sockets 2017-09-14 00:55:01 +02:00