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 |
|
Bert Belder
|
1ad0497c9c
|
poll-request: don't use exclusive polls now that we can cancel old ones
|
2017-09-14 00:55:01 +02:00 |
|
Bert Belder
|
43c159a576
|
port: when closing, use ep_sock_force_delete() instead of draining
|
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
|
b4ca2e330b
|
poll-request: implement poll_req_cancel()
|
2017-09-14 00:53:07 +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
|
eaec721f0c
|
ntstatus: add definition for STATUS_CANCELLED
|
2017-09-14 00:49:23 +02:00 |
|
Bert Belder
|
6e92f49be1
|
afd: name afd_poll() arguments more clearly
|
2017-09-11 17:23:42 +02:00 |
|
Bert Belder
|
02dceacbe3
|
port: move epoll_(create|close) public APIs to api.c
|
2017-09-11 17:14:43 +02:00 |
|
Bert Belder
|
6448bd2203
|
socket: move socket assignment to ep_sock constructor
|
2017-09-11 17:13:18 +02:00 |
|
Bert Belder
|
184ba5b0e0
|
init: move global initialization to init.c
|
2017-09-11 15:18:12 +02:00 |
|
Bert Belder
|
7f8cdf7448
|
epoll: remove unused declaration
|
2017-09-11 03:51:48 +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
|
4dd57efc8b
|
rb: rename tree.h -> rb.h
|
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
|
894b48b2bd
|
tree: drop ARGSUSED comments
|
2017-09-10 20:51:11 +02:00 |
|
Bert Belder
|
d06696ee78
|
tree: remove RB_AUGMENT calls
|
2017-09-10 20:40:44 +02:00 |
|
Bert Belder
|
d36adf242a
|
socket: simplify update queue management
|
2017-09-10 20:40:44 +02:00 |
|
Bert Belder
|
ddb39a9ab6
|
queue: add QUEUE_ENQUEUED() to determine if an element is in a queue
|
2017-09-10 20:40:44 +02:00 |
|
Bert Belder
|
dfab856583
|
queue: rename QUEUE_ADD to QUEUE_MERGE
The old name was really confusing.
|
2017-09-10 20:40:44 +02:00 |
|
Bert Belder
|
e64b96542e
|
queue: prefix private macros with underscore
|
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
|
9061004ca2
|
epoll: make assignment in conditional expression palatable to msvc
|
2017-09-10 20:40:43 +02:00 |
|
Bert Belder
|
2a15b3a371
|
epoll: fix logic error in epoll_wait() timeout recomputation
|
2017-09-10 20:40:43 +02:00 |
|
Bert Belder
|
e36129b91b
|
handle-tree: fix potential integer overflow in _handle_tree_compare
|
2017-09-10 20:40:42 +02:00 |
|
Bert Belder
|
c1e99cb100
|
handle-tree: avoid clang incomplete initializer warning
|
2017-09-10 20:40:42 +02:00 |
|
Bert Belder
|
07b5e727a3
|
error: avoid clang signed/unsigned comparison warning
|
2017-09-10 20:40:42 +02:00 |
|
Bert Belder
|
0ac3c921bd
|
src: decorate internal APIs with EPOLL_INTERNAL
|
2017-09-10 20:40:42 +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 |
|
Bert Belder
|
1a8c20ef36
|
tree.h: remove splay
|
2017-09-10 20:39:42 +02:00 |
|
Bert Belder
|
91069b2271
|
epoll: split out poll request functions into poll-request.[ch]
|
2017-09-10 20:39:36 +02:00 |
|
Bert Belder
|
89099e3103
|
src: major refactor
|
2017-09-10 20:39:19 +02:00 |
|
Bert Belder
|
67265bf826
|
epoll.c: move epoll_create() implementation further down
|
2017-09-10 20:39:18 +02:00 |
|
Bert Belder
|
37a36ea741
|
epoll: mark local functions static
|
2017-09-10 20:39:18 +02:00 |
|
Bert Belder
|
b0586e2fe7
|
epoll: factor out _ep_get_related_sockets()
|
2017-09-10 20:39:18 +02:00 |
|
Bert Belder
|
ee6ba5e849
|
epoll: move smaller _ep_sock_data fields to the bottom
|
2017-09-10 20:39:18 +02:00 |
|
Bert Belder
|
667b9a4b1d
|
epoll: use epoll_data_t for per-socket user data field
|
2017-09-10 20:39:18 +02:00 |
|
Bert Belder
|
196e807223
|
epoll: remove free_io_req logic
|
2017-09-10 20:39:11 +02:00 |
|
Bert Belder
|
65d44c9d7e
|
epoll: split up epoll_ctl() implementation
|
2017-09-04 09:33:16 +02:00 |
|
Bert Belder
|
7baf2c9e73
|
epoll: rename stuff again
|
2017-09-04 09:19:11 +02:00 |
|
Bert Belder
|
815e6faf0a
|
tree: remove CONSTCOND tags
|
2017-09-04 08:59:57 +02:00 |
|
Bert Belder
|
620a2108a2
|
afd: add IrDA provider guid
|
2017-09-04 07:58:13 +02:00 |
|
Bert Belder
|
8808304888
|
afd: rename and restyle msafd provider guid list, add labels
|
2017-09-04 07:56:52 +02:00 |
|
Bert Belder
|
5e93699a41
|
nt: do not re-load ntdll.dll
It's loaded into every process anyway.
|
2017-09-04 07:30:37 +02:00 |
|
Bert Belder
|
52dbb3f2a2
|
epoll: use container_of() instead of CONTAINING_RECORD()
|
2017-09-04 07:27:28 +02:00 |
|
Bert Belder
|
45afb2268e
|
util: add container_of() macro
|
2017-09-04 07:27:11 +02:00 |
|
Bert Belder
|
0cd8b52b18
|
src: use int foo(void) for functions that don't take parameters
|
2017-09-04 07:20:59 +02:00 |
|
Bert Belder
|
2cd69e976a
|
epoll: return proper (windows+errno) error codes
|
2017-09-04 07:20:59 +02:00 |
|
Bert Belder
|
1949b8f044
|
afd: use windows (and not winsock) error codes
|
2017-09-04 07:20:59 +02:00 |
|
Bert Belder
|
e967c93dad
|
error: add return_error() and return_success() helper macros
|
2017-09-04 07:20:58 +02:00 |
|
Bert Belder
|
f353ab429e
|
error: add we_set_win_error() and we_clear_win_error() apis
|
2017-09-04 06:37:17 +02:00 |
|
Bert Belder
|
d7586179eb
|
error: redo and simplify error mapping functions
|
2017-09-04 06:37:13 +02:00 |
|
Bert Belder
|
e37ee111b1
|
error: slim down the error map
|
2017-09-04 05:50:53 +02:00 |
|
Bert Belder
|
e06d6555f6
|
nt: dynamically import RtlNtStatusToDosError
|
2017-09-04 05:08:38 +02:00 |
|
Bert Belder
|
6a92d5e905
|
nt: put parentheses around parameter list in X macro
|
2017-09-04 05:07:25 +02:00 |
|
Bert Belder
|
8520557b03
|
style: remove _s suffix from struct names
|
2017-09-04 00:48:28 +02:00 |
|
Bert Belder
|
e7673137be
|
util: s/ARRAY_COUNT/array_count/
|
2017-09-04 00:37:28 +02:00 |
|
Bert Belder
|
f2cc02abc0
|
util: move definitions to util.h
|
2017-09-04 00:35:04 +02:00 |
|
Bert Belder
|
7de1d61227
|
afd: clean up header, move some definitions
|
2017-09-03 23:41:37 +02:00 |
|
Bert Belder
|
d7d3a80bdd
|
afd: separate out afd_poll implementation
|
2017-09-03 23:41:28 +02:00 |
|
Bert Belder
|
d6cbb73f4e
|
nt: separate out ntdll.dll dynamic import logic
|
2017-09-03 23:39:47 +02:00 |
|
Bert Belder
|
3319986f74
|
nt: move ntstatus related definitions to ntstatus.h
|
2017-09-03 23:39:14 +02:00 |
|
Bert Belder
|
7b253d0cf4
|
nt.h: delete the bulk of NTSTATUS constants
|
2017-09-03 20:55:37 +02:00 |
|
Bert Belder
|
e910b2bc72
|
src: include windows headers in a central location
|
2017-09-03 20:55:37 +02:00 |
|
Bert Belder
|
0c20d49e2f
|
src: rename some files
|
2017-09-03 20:55:37 +02:00 |
|
Bert Belder
|
eef4a2ef44
|
epoll.c: use new error-mapping facility
|
2017-09-03 20:55:31 +02:00 |
|
Bert Belder
|
22f02b1e01
|
src: add facility for mapping between ntstatus, win(sock), c errors
|
2017-09-03 18:59:06 +02:00 |
|
Bert Belder
|
0c7098fb47
|
epoll.c: remove unnecessary code
|
2017-09-01 19:29:46 +02:00 |
|
Bert Belder
|
7f7d1240ae
|
epoll.c: fix warning about potentially uninitialized variable
|
2017-09-01 19:29:46 +02:00 |
|
Bert Belder
|
32a13c094c
|
epoll.c: use CreateEventW explicitly
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
5162f578ab
|
epoll.c: wrap assignment-in-conditional in double parentheses
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
f5633093df
|
epoll.c: use size_t for array index counter
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
370e1b79e2
|
epoll.c: ensure ssize_t type is defined
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
47ceb5b498
|
ntapi.h: do away with funky comment style
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
c480ec6242
|
epoll.c: do away with funky comment style
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
4815b07fd4
|
src: capitalize Windows.h
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
82e9b9e418
|
msafd.h: add two definitions from winioctl.h
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
2ac38c9f3a
|
epoll.c: add missing malloc.h include
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
051b79868d
|
epoll.c: include windows headers
|
2017-09-01 19:29:45 +02:00 |
|
Bert Belder
|
4263397ef1
|
header: don't include Winsock2.h and Windows.h
|
2017-09-01 19:29:44 +02:00 |
|
Bert Belder
|
0904888163
|
tree.h: mark static functions as unused to avoid clang warning
|
2017-09-01 19:29:44 +02:00 |
|
Bert Belder
|
76c5e35363
|
epoll.c: use GetTickCount64() to avoid clock wrapping issues
|
2017-09-01 19:29:44 +02:00 |
|
Bert Belder
|
f943400618
|
epoll.c: naming conflict, rename 'op(eration)' to '(io_)req(uest)'
|
2017-09-01 19:29:44 +02:00 |
|
Bert Belder
|
42a0c6e0f4
|
structure: put tests in the test/ folder
|
2017-09-01 19:29:39 +02:00 |
|
Bert Belder
|
c2fff82c25
|
test: fix the test somewhat
|
2017-09-01 19:29:39 +02:00 |
|
k0zmo
|
12b29d1177
|
epoll.c: fix re-listing polled sockets
|
2017-09-01 19:29:39 +02:00 |
|
Bert Belder
|
83ef29e49a
|
src: epoll.h is not a system header
|
2017-09-01 19:29:39 +02:00 |
|
Bert Belder
|
005581d797
|
style: format all sources
|
2017-09-01 19:29:39 +02:00 |
|
Bert Belder
|
c7ebd8f042
|
style: add clang-format style rules
|
2017-09-01 19:29:39 +02:00 |
|
Bert Belder
|
828de8474b
|
ntapi.h: remove DUMMYUNIONNAME annotation
|
2017-09-01 19:22:18 +02:00 |
|
Bert Belder
|
f020adf547
|
Move attention queue management to the right spot
|
2012-09-06 06:25:00 +02:00 |
|
Bert Belder
|
6f82a912e5
|
Fix inappropriate return value for epoll_create
|
2012-09-06 05:52:24 +02:00 |
|
Bert Belder
|
5f55c930d8
|
Fix tree corruption
|
2012-09-06 05:52:10 +02:00 |
|
Bert Belder
|
018cbff4b1
|
Use SIO_BASE_HANDLE to bypass LSPs
|
2012-09-06 05:03:54 +02:00 |
|
Bert Belder
|
fd94013fc2
|
s/attn/attn_list/
|
2012-09-06 04:55:08 +02:00 |
|
Bert Belder
|
503e0bca69
|
More WIP
|
2012-09-06 04:20:37 +02:00 |
|
Bert Belder
|
4c2fb9914a
|
s/wpoll/epoll/g
|
2012-09-06 02:37:37 +02:00 |
|
Bert Belder
|
a1aa2c7d80
|
WIP
|
2012-09-06 02:28:12 +02:00 |
|
Bert Belder
|
0d07f24236
|
start working on test
|
2012-08-29 05:14:00 +02:00 |
|
Bert Belder
|
39e68401ce
|
WIP
|
2012-08-29 04:39:12 +02:00 |
|
Bert Belder
|
c3f7e36acb
|
WIP
|
2012-08-25 04:35:43 +02:00 |
|
Bert Belder
|
b45fca6328
|
more skeletton
|
2012-08-25 03:44:04 +02:00 |
|
Bert Belder
|
214de4db8d
|
Add tree.h from FreeBSD
|
2012-08-24 16:24:50 +02:00 |
|
Bert Belder
|
51a59be139
|
Skeletton
|
2012-08-24 16:10:16 +02:00 |
|