• Martin Blix Grydeland's avatar
    Do not trigger on EPOLLPRI in the epoll waiter · 8822c846
    Martin Blix Grydeland authored
    EPOLLPRI causes the waiter to report activity on a socket when there
    is OOB data available. Since HTTP does not make use of OOB the data is
    never read and the socket thus is always ready for read according to
    the waiter. This causes the waiter to continously assign the session
    to a worker only for the worker to find out there is no data sending
    it back to the waiter. This continues until the request timeout_idle
    has elapsed.
    
    This problem does no constitute a DOS attack vector as the linger
    timeout in the session SES_RxReq is still invoked, and this one does
    not trigger on PRI. So the worker sleeps on that poll for
    timeout_linger before sending the session back to the waiter, and
    eventually is dropped on timeout_idle.
    8822c846
Name
Last commit
Last update
..
cache_waiter.c Loading commit data...
cache_waiter_epoll.c Loading commit data...
cache_waiter_kqueue.c Loading commit data...
cache_waiter_poll.c Loading commit data...
cache_waiter_ports.c Loading commit data...
mgt_waiter.c Loading commit data...
waiter.h Loading commit data...
waiter_priv.h Loading commit data...