| ... |
... |
@@ -414,13 +414,13 @@ void pollCompletedTimeoutsOrIOPoll(CapIOManager *iomgr) |
|
414
|
414
|
|
|
415
|
415
|
if (!isEmptyClosureTable(&iomgr->aiop_table)) {
|
|
416
|
416
|
|
|
417
|
|
- nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 1;
|
|
418
|
|
-
|
|
419
|
417
|
#if defined(HAVE_PREEMPTION)
|
|
420
|
418
|
/* the full_poll_table includes interrupt_fd_r */
|
|
|
419
|
+ nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 1;
|
|
421
|
420
|
struct pollfd *poll_table = iomgr->full_poll_table;
|
|
422
|
421
|
#else
|
|
423
|
422
|
/* the aiop_poll_table does not include interrupt_fd_r */
|
|
|
423
|
+ nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 0;
|
|
424
|
424
|
struct pollfd *poll_table = iomgr->aiop_poll_table;
|
|
425
|
425
|
#endif
|
|
426
|
426
|
|
| ... |
... |
@@ -490,9 +490,11 @@ bool awaitCompletedTimeoutsOrIOPoll(CapIOManager *iomgr) |
|
490
|
490
|
|
|
491
|
491
|
#if defined(HAVE_PREEMPTION)
|
|
492
|
492
|
/* the full_poll_table includes interrupt_fd_r */
|
|
|
493
|
+ nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 1;
|
|
493
|
494
|
struct pollfd *poll_table = iomgr->full_poll_table;
|
|
494
|
495
|
#else
|
|
495
|
496
|
/* the aiop_poll_table does not include interrupt_fd_r */
|
|
|
497
|
+ nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 0;
|
|
496
|
498
|
struct pollfd *poll_table = iomgr->aiop_poll_table;
|
|
497
|
499
|
#endif
|
|
498
|
500
|
|
| ... |
... |
@@ -507,7 +509,6 @@ bool awaitCompletedTimeoutsOrIOPoll(CapIOManager *iomgr) |
|
507
|
509
|
#endif
|
|
508
|
510
|
|
|
509
|
511
|
/* Check for I/O readiness, possibly waiting. */
|
|
510
|
|
- nfds_t nfds = sizeClosureTable(&iomgr->aiop_table) + 1;
|
|
511
|
512
|
#if defined(HAVE_DECL_PPOLL) && HAVE_DECL_PPOLL == 1
|
|
512
|
513
|
int res = ppoll(poll_table, nfds, timeout_ns, NULL);
|
|
513
|
514
|
|