30 Commits

Author SHA1 Message Date
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
45aaa10a62 poll-group: use 1 driver socket per N sockets, vs. 1 for *all* sockets 2017-09-14 00:55:01 +02:00
Bert Belder
258ce95f79 socket: add ep_sock_force_delete() 2017-09-14 00:55:00 +02:00
Bert Belder
caade91a1a socket: never have more than one outstanding poll request
Instead, use the new poll_req_cancel() API to cancel poll requests that
are outdated, then submit a new poll request after they return.
2017-09-14 00:53:25 +02:00
Bert Belder
f2580ab432 socket: fix serious bug/typo in ep_sock_find() 2017-09-14 00:53:24 +02:00
Bert Belder
153bc1138a socket: fix EPOLLONESHOT semantics
When EPOLLONESHOT is specified, rather than deleting the socket, just
clear it's event mask.
2017-09-14 00:53:13 +02:00
Bert Belder
530da04ede socket: make comparison with zero explicit 2017-09-14 00:53:13 +02:00
Bert Belder
3696de480a socket: set _EP_SOCK_DELETED immediately after checking it 2017-09-14 00:53:07 +02:00
Bert Belder
4f16b267ad socket: make ep_sock_delete() return void 2017-09-14 00:53:01 +02:00
Bert Belder
6448bd2203 socket: move socket assignment to ep_sock constructor 2017-09-11 17:13:18 +02:00
Bert Belder
eff08efcb8 socket: refactor lookup logic 2017-09-11 03:51:48 +02:00
Bert Belder
c4f2b71db4 tree: rename handle_tree -> tree 2017-09-11 03:51:47 +02:00
Bert Belder
854f8a552c src: use 'queue_node' and 'tree_node' only 2017-09-11 03:51:47 +02:00
Bert Belder
1f795ae60f port: manipulate request count through ep_port_(add|del)_req 2017-09-11 03:51:43 +02:00
Bert Belder
4d9a24a708 queue: re-implement 2017-09-11 01:29:45 +02:00
Bert Belder
4568ce69d8 socket: refactor ep_sock delete/free flow 2017-09-11 01:26:44 +02:00
Bert Belder
8237c57951 port: rename internal APIs 2017-09-10 21:00:06 +02:00
Bert Belder
d36adf242a socket: simplify update queue management 2017-09-10 20:40:44 +02:00
Bert Belder
2b3fddafd1 util: add unused() macro 2017-09-10 20:40:44 +02:00
Bert Belder
bbe28c8729 socket: separate public from private ep_sock_t fields 2017-09-10 20:40:44 +02:00
Bert Belder
3d1bae5073 epoll: move the socket lookup tree to it's own file 2017-09-10 20:39:49 +02:00
Bert Belder
0d941fd52a epoll: split out socket related code 2017-09-10 20:39:42 +02:00