diff --git a/maxutils/maxbase/src/messagequeue.cc b/maxutils/maxbase/src/messagequeue.cc index 0b57fc20e..d2129e4cf 100644 --- a/maxutils/maxbase/src/messagequeue.cc +++ b/maxutils/maxbase/src/messagequeue.cc @@ -246,7 +246,7 @@ bool MessageQueue::add_to_worker(Worker* pWorker) m_pWorker = NULL; } - if (pWorker->add_fd(m_read_fd, EPOLLIN, this)) + if (pWorker->add_fd(m_read_fd, EPOLLIN | EPOLLET, this)) { m_pWorker = pWorker; } diff --git a/maxutils/maxbase/src/worker.cc b/maxutils/maxbase/src/worker.cc index 64922e427..32c753371 100644 --- a/maxutils/maxbase/src/worker.cc +++ b/maxutils/maxbase/src/worker.cc @@ -186,7 +186,7 @@ WorkerTimer::WorkerTimer(Worker* pWorker) if (m_fd != -1) { - if (!m_pWorker->add_fd(m_fd, EPOLLIN, this)) + if (!m_pWorker->add_fd(m_fd, EPOLLIN | EPOLLET, this)) { MXB_ALERT("Could not add timer descriptor to worker, system will not work."); ::close(m_fd); @@ -359,9 +359,6 @@ bool Worker::add_fd(int fd, uint32_t events, MXB_POLL_DATA* pData) { bool rv = true; - // Must be edge-triggered. - events |= EPOLLET; - struct epoll_event ev; ev.events = events;