331 Commits

Author SHA1 Message Date
Bert Belder
86fbe53e70 build: disable 'conditional expression is constant' warning
Visual Studio 2013 often generates this warning when it encounters a
`do { ... } while (0)` construct, which is commonly used in preprocessor
macros.
2017-12-07 04:40:30 +01:00
Bert Belder
6182e1ec73 test: add leak checker to all tests 2017-12-05 20:30:04 +01:00
Bert Belder
4d6cb0ff5b test: remove unnecessary include from test-error 2017-12-05 20:09:59 +01:00
Bert Belder
ada9cb5910 test: close epoll handle after running test-ctl-fuzz 2017-12-05 20:09:48 +01:00
Bert Belder
9114b4232a test: add test to detect memory leak
The leak itself was fixed in the previous commit.
2017-12-05 20:08:55 +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
a11f4de81c test: add some epoll_ctl() test cases to test-error 2017-12-05 05:14:02 +01:00
Bert Belder
e5a8d83c8b api: epoll_ctl() to return ENOTSOCK when sock argument is not a socket 2017-12-05 05:02:57 +01:00
Bert Belder
4159a14364 afd: make afd_get_protocol() error reporting more accurate 2017-12-05 04:47:59 +01:00
Bert Belder
283aa5fe76 error: map ERROR_NOT_SUPPORTED to EPERM 2017-12-05 04:46:30 +01:00
Bert Belder
af9a6eb40f test: add tests for epoll_wait() failure modes 2017-12-04 23:22:03 +01:00
Bert Belder
a2f6609d57 api: report EINVAL if epoll_wait() is called with invalid maxevents 2017-12-04 23:21:39 +01:00
Bert Belder
227ee0e63d dist: merge release tag v1.2.0 2017-12-04 21:10:19 +01:00
Bert Belder
c053eb280d version 1.2.0 v1.2.0 2017-12-04 21:09:07 +01:00
Bert Belder
bbeed7566c test: add (incomplete) error code test 2017-12-04 21:07:43 +01:00
Bert Belder
11d7a0395f api: report EINVAL when ephnd is a valid handle but not an epoll instance 2017-12-04 21:04:58 +01:00
Bert Belder
d5b5b605c0 api: epoll_ctl_mod() report EBADF when modifying/deleting invalid socket 2017-12-04 21:03:59 +01:00
Bert Belder
d83871797c error: add return_handle_error(value, handle, [error]) macro
This macro validates that `handle` is valid. If `handle` is valid, it
behaves just like `return_error(value, [error])`. If `handle` is
invalid, it sets errno to EBADF and GetLastError() returns
ERROR_INVALID_HANDLE.
2017-12-04 21:00:44 +01:00
Bert Belder
dc1369886d error: map ERROR_*_SYSTEM_RESOURCES to ENOMEM 2017-12-04 20:06:39 +01:00
Bert Belder
69a297fd22 port: properly propagate CreateIoCompletionPort() error 2017-12-04 20:06:16 +01:00
Bert Belder
981b3caf4e api: epoll_create() and epoll_create1() should return NULL on failure 2017-12-04 20:04:30 +01:00
Bert Belder
98fc483e76 test: remove unnecessary WS2tcpip.h includes 2017-12-04 17:20:58 +01:00
Bert Belder
d76556797d doc: fix EPOLL_CTL_MOD -> EPOLL_CTL_DEL 2017-12-04 00:11:24 +01:00
Bert Belder
2b07037dbb dist: merge release tag v1.1.0 2017-12-04 00:08:09 +01:00
Bert Belder
c751fb935f version 1.1.0 v1.1.0 2017-12-04 00:06:28 +01:00
Bert Belder
778082c38a build: combined dll depends on dist/wepoll.h 2017-12-04 00:05:00 +01:00
Bert Belder
614e5c493e build: rename 'combined' target to 'dist' 2017-12-04 00:03:51 +01:00
Bert Belder
11e6439c38 doc: move readme to root 2017-12-03 23:57:55 +01:00
Bert Belder
523bb0f8c0 doc: externalize links 2017-12-03 23:55:49 +01:00
Bert Belder
f223463f12 doc: externalize links 2017-12-03 23:50:32 +01:00
Bert Belder
712eaab58b doc: epoll_create() size argument must be greater than zero 2017-12-03 23:40:29 +01:00
Bert Belder
3e3d414637 doc: improve readability of epoll_wait() return value list 2017-12-03 23:40:13 +01:00
Bert Belder
d64a5f282d test: remove unnecessary event mask casts to uint32_t 2017-12-03 23:16:10 +01:00
Bert Belder
7d3dd32b3d header: cast event types to uint32_t 2017-12-03 23:15:31 +01:00
Bert Belder
ceb44f6501 header: align values in enum EPOLL_EVENTS definition 2017-12-03 23:14:22 +01:00
Bert Belder
49f73f6723 sock: list out known epoll event types 2017-12-03 23:13:01 +01:00
Bert Belder
c22de2ecab header: note that EPOLLMSG is never reported 2017-12-03 22:56:09 +01:00
Bert Belder
6209fd4850 header: mark windows-specific fields in union epoll_data 2017-12-03 22:55:55 +01:00
Bert Belder
f7e15f1ba8 reflock-tree: remove unnecessary casts 2017-12-03 19:09:32 +01:00
Bert Belder
b3335d9c19 src: remove unnecessary #ifndef from regular/internal.h 2017-12-03 19:01:03 +01:00
Bert Belder
63d3e3b2bc src: merge ntstatus.h into nt.h 2017-12-03 18:58:43 +01:00
Bert Belder
6c5ad68f48 dist: merge release tag v1.0.2 2017-12-03 18:21:26 +01:00
Bert Belder
c5515a71be version 1.0.2 v1.0.2 2017-12-03 18:19:07 +01:00
Bert Belder
a0865a8677 test: add test for automatic dropping or closed sockets 2017-12-03 18:17:45 +01:00
Bert Belder
af9180dcfb doc: document caveats related to auto-dropping of closed sockets 2017-12-03 18:16:14 +01:00
Bert Belder
ddb8bfc9d6 sock: properly detect closed sockets when EPOLLONESHOT is set 2017-12-03 18:15:22 +01:00
Bert Belder
35b2354413 doc: improve wording in epoll_close() documentation 2017-12-03 18:14:28 +01:00