… | |
… | |
2394 | { |
2394 | { |
2395 | int i; |
2395 | int i; |
2396 | |
2396 | |
2397 | /* most backends do not modify the fdchanges list in backend_modfiy. |
2397 | /* most backends do not modify the fdchanges list in backend_modfiy. |
2398 | * except io_uring, which has fixed-size buffers which might force us |
2398 | * except io_uring, which has fixed-size buffers which might force us |
2399 | * to handle events in backend_modify, causing fdchangesd to be amended, |
2399 | * to handle events in backend_modify, causing fdchanges to be amended, |
2400 | * which could result in an endless loop. |
2400 | * which could result in an endless loop. |
2401 | * to avoid this, we do not dynamically handle fds that were added |
2401 | * to avoid this, we do not dynamically handle fds that were added |
2402 | * during fd_reify. that menas thast for those backends, fdchangecnt |
2402 | * during fd_reify. that means that for those backends, fdchangecnt |
2403 | * might be non-zero during poll, which must cause them to not block. |
2403 | * might be non-zero during poll, which must cause them to not block. |
2404 | * to not put too much of a burden on other backends, this detail |
2404 | * to not put too much of a burden on other backends, this detail |
2405 | * needs to be handled in the backend. |
2405 | * needs to be handled in the backend. |
2406 | */ |
2406 | */ |
2407 | int changecnt = fdchangecnt; |
2407 | int changecnt = fdchangecnt; |