I must be misunderstanding the bug because this section although it is using 
distinct poll descriptors (for read and write), it is also having multiple 
threads register for events at the same time - which seems racy to me.

“ Each epoll handle has a dedicated thread that runs epoll_wait in a loop, and 
schedules tasks to run in other threads in response to polled events.
Other threads register interest ops with EPOLL_CTL_ADD, and when the event is 
polled, deregister interest with EPOLL_CTL_DEL. Any given socket handle can be 
registered at most once with each of the above epoll handles, once for reading, 
once for writing.”


> On Feb 11, 2026, at 1:15 PM, Alan Bateman <[email protected]> wrote:
> 
> On 11/02/2026 18:52, robert engels wrote:
>> But the bug you linked as a potential candidate uses epoll directly. I only 
>> linked it because it discusses what sounds to be similar race results in 
>> starvation conditions.
> The issue that I think Matthew may be hitting arises when a Windows SOCKET 
> that is registered for different I/O events with 2 AFD instances (think 
> registered with a Read-Poller and Write-Poller at the same time). So very 
> different to sharing epfd across threads or the edge triggered mode that the 
> article is about.
> 
> -Alan

Reply via email to