Make EPOLLET the default
The whole worker thread mechanism assumes EPOLLET and non-blocking descriptors, so that should be the default. TODO: In debug mode, check that the provided file descriptor indeed is non-blocking.
This commit is contained in:
@ -76,7 +76,9 @@ typedef struct mxs_poll_data
|
||||
* data->thread.id: Will be updated by `poll_add_fd_to_worker`.
|
||||
*
|
||||
* @attention If the descriptor should be added to all workers, then the worker
|
||||
* thread id will be 0.
|
||||
* thread id will be 0.
|
||||
*
|
||||
* @attention The provided file descriptor *must* be non-blocking.
|
||||
*
|
||||
* @return 0 on success, non-zero on failure.
|
||||
*/
|
||||
|
@ -291,6 +291,8 @@ static int add_fd_to_worker(int wid, int fd, uint32_t events, MXS_POLL_DATA* dat
|
||||
{
|
||||
ss_dassert((wid >= 0) && (wid <= n_threads));
|
||||
|
||||
events |= EPOLLET;
|
||||
|
||||
struct epoll_event ev;
|
||||
|
||||
ev.events = events;
|
||||
@ -309,6 +311,8 @@ static int add_fd_to_worker(int wid, int fd, uint32_t events, MXS_POLL_DATA* dat
|
||||
|
||||
static int add_fd_to_workers(int fd, uint32_t events, MXS_POLL_DATA* data)
|
||||
{
|
||||
events |= EPOLLET;
|
||||
|
||||
struct epoll_event ev;
|
||||
|
||||
ev.events = events;
|
||||
|
Reference in New Issue
Block a user