Create thread specific epoll instances

Having a unique epoll instance for each thread allows a lot of the locking
from poll.c to be removed. The downside to this is that each session can
have only one thread processing events for it which might reduce
performance with very low client counts.
This commit is contained in:
Markus Makela
2016-10-20 00:25:05 +03:00
parent 573faff987
commit b79210c760
2 changed files with 48 additions and 168 deletions

View File

@ -227,6 +227,7 @@ typedef struct dcb
DCBEVENTQ evq; /**< The event queue for this DCB */
int fd; /**< The descriptor */
dcb_state_t state; /**< Current descriptor state */
int owner; /**< Owning thread */
SSL_STATE ssl_state; /**< Current state of SSL if in use */
int flags; /**< DCB flags */
char *remote; /**< Address of remote end */