… | |
… | |
5 | - further optimise away the EPOLL_CTL_ADD/MOD combo in the epoll |
5 | - further optimise away the EPOLL_CTL_ADD/MOD combo in the epoll |
6 | backend by assuming the kernel event mask hasn't changed if |
6 | backend by assuming the kernel event mask hasn't changed if |
7 | ADD fails with EEXIST. |
7 | ADD fails with EEXIST. |
8 | - work around spurious event notification bugs in epoll by using |
8 | - work around spurious event notification bugs in epoll by using |
9 | a 32-bit generation counter. recreate kernel state if we receive |
9 | a 32-bit generation counter. recreate kernel state if we receive |
10 | spurious notifications or unwanted events. |
10 | spurious notifications or unwanted events. this is very costly, |
|
|
11 | but I didn't come up with this horrible design. |
11 | - use memset to initialise most arrays now and do away with the |
12 | - use memset to initialise most arrays now and do away with the |
12 | init functions. |
13 | init functions. |
13 | - expand time-out strategies into a "Be smart about timeouts" section. |
14 | - expand time-out strategies into a "Be smart about timeouts" section. |
14 | - drop the "struct" from all ev_watcher declarations in the |
15 | - drop the "struct" from all ev_watcher declarations in the |
15 | documentation and did other clarifications (yeah, it was a mistake |
16 | documentation and did other clarifications (yeah, it was a mistake |