38 Commits

Author SHA1 Message Date
Bert Belder
d5f8f5f1b1
afd: use IO_STATUS_BLOCK instead of OVERLAPPED to track async poll ops
This reduces per-socket memory usage, as the OVERLAPPED structure
contains some fields that are never used.
2019-06-12 21:49:12 +02:00
Bert Belder
a627f365fd
src,test: clean up #include directives 2019-06-12 21:49:11 +02:00
Bert Belder
7080d540e2
build: do not force-include wepoll.h using a command line switch 2019-06-12 21:49:10 +02:00
Bert Belder
0088a1f263
sock: put functions in a more logical order 2019-05-17 13:42:08 -07:00
Bert Belder
bf5e17e5c5
sock: avoid a syscall when cancelling already-completed poll operation 2018-11-17 00:43:49 -08:00
Bert Belder
8b7b340610
sock: fix EPOLLOUT always reported for outgoing connections
This fixes a bug that caused a socket to be always reported writable
after an outgoing connection was successfully established.
2018-11-17 00:43:48 -08:00
Bert Belder
d6144b2e83
sock: report the same events as linux when connect() fails 2018-11-17 00:43:48 -08:00
Bert Belder
dc895c6dec
afd: use a simpler method to create AFD helper handles 2018-07-23 05:39:34 +02:00
Bert Belder
f813598587
src,test: use consistent naming style for private names 2018-06-06 11:37:43 -07:00
Bert Belder
64b714ab36
port,sock: drop 'ep_' prefix, rename types to sock_state_t/port_state_t 2018-05-17 01:31:29 -07:00
Bert Belder
613a821a30
src: rename/remove macros that clang says have reserved names 2018-05-17 01:31:28 -07:00
Bert Belder
8f4d4e9602
src,test: squelch clang signed/unsigned conversion warnings 2018-05-17 01:31:28 -07:00
Bert Belder
3e2cc6379f
sock: squelch clang non-matching cast warning 2018-05-17 01:31:25 -07:00
Bert Belder
3e3251e0d9
error: break up return_error() macro into two non-variadic macros
This prevents clang 6.x from emitting a
gnu-zero-variadic-macro-arguments warning.
2018-05-17 01:31:21 -07:00
Bert Belder
b9b4cc7686
sock: integrate _poll_req_t fields into ep_sock_t, and merge functions 2018-05-04 02:13:52 +02:00
Bert Belder
7c57e19298
sock: make all ep_sock_t fields private, remove _ep_sock_private_t 2018-05-03 23:27:41 +02:00
Bert Belder
74d7624afd
port: access ep_sock_t.tree_node and ep_sock_t.queue_node through getters 2018-05-03 23:27:40 +02:00
Bert Belder
279315afcd
src: add missing <string.h> includes 2018-05-03 14:40:51 +02:00
Bert Belder
5bcde85f8b
sock: call poll_group_acquire() and poll_group_release() directly 2018-05-02 03:50:42 +02:00
Bert Belder
6a932e0daf
sock: rename 'afd_socket' to 'base_socket' 2018-05-02 03:06:35 +02:00
Bert Belder
607ed77216
sock: do not retrieve winsock protocol info for every socket 2018-05-02 03:06:35 +02:00
Bert Belder
a54e813d2f
sock: remove unnecessary header include 2018-05-02 03:06:35 +02:00
Bert Belder
2789bad793
afd: retrieve protocol info for afd driver socket on startup 2018-05-02 03:06:30 +02:00
Bert Belder
e7e8385354
port: do not use separate poll groups for different socket types
It appears that this was never necessary after all.
2018-03-09 01:12:24 +01:00
Bert Belder
d8cf151f30 port: change some internal method names 2017-12-09 23:28:23 +01:00
Bert Belder
f260365c45 port: plug memory leak where deleted socket would never be freed 2017-12-05 20:04:41 +01:00
Bert Belder
05bad1e58b sock: move poll cancellation to _ep_sock_cancel_poll() 2017-12-05 20:04:41 +01:00
Bert Belder
eecfb0e5e3 port: make ep_port_release_poll_group() signature consistent 2017-12-05 20:04:41 +01:00
Bert Belder
50f84cdc6b port: refactor socket update queue 2017-12-05 20:04:35 +01:00
Bert Belder
49f73f6723 sock: list out known epoll event types 2017-12-03 23:13:01 +01:00
Bert Belder
ddb8bfc9d6 sock: properly detect closed sockets when EPOLLONESHOT is set 2017-12-03 18:15:22 +01:00
Bert Belder
e55a7612b7 sock: disable all events after EPOLLONESHOT event 2017-11-23 03:00:26 +01:00
Bert Belder
2a7c6ded9e sock: set the right epoll events on AFD_POLL_DISCONNECT 2017-11-23 03:00:21 +01:00
Bert Belder
742cc8c7fa sock: merge if branches for AFD_POLL_SEND and AFD_POLL_CONNECT 2017-11-23 03:00:21 +01:00
Bert Belder
eb673e3fed all: rename the project to 'wepoll' 2017-09-28 00:12:20 +02:00
Bert Belder
d99e748ef8 sock: remove ep_sock_from_overlapped() internal API 2017-09-26 21:12:28 +02:00
Bert Belder
809a6d84bf sock: remove ep_sock_find_in_tree() internal api 2017-09-26 02:14:53 +02:00
Bert Belder
b61fd61008 src: rename epoll-socket.* to sock.* 2017-09-25 20:35:47 +02:00