-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Description
This value is hardcoded here:
Line 78 in 6a16b63
| #define PROCESSX_INTERRUPT_INTERVAL 200 |
Is my understanding correct that this interval is there only to allow the interruption of the polling and in no way adds a (significant, i.e. proportional to its value) delay to the time it takes for, let's say, p$poll_io(-1) to return?
AFAIU processx leverages native libraries to provide overhead-less IO event forwarding (modulo interruptability). See:
- UNIX:
processx/src/processx-connection.c
Line 1965 in 6a16b63
ret = poll(fds, nfds, PROCESSX_INTERRUPT_INTERVAL); - Windows:
processx/src/processx-connection.c
Lines 1154 to 1160 in 6a16b63
if (selj == 0) { sres = processx__thread_getstatus(&bytes, &key, &overlapped, poll_timeout); } else { sres = processx__thread_getstatus_select(&bytes, &key, &overlapped, poll_timeout); } Lines 133 to 138 in 6a16b63
DWORD res = GetQueuedCompletionStatus( iocp, processx__thread_getstatus_data.lpNumberOfBytes, processx__thread_getstatus_data.lpCompletionKey, processx__thread_getstatus_data.lpOverlapped, processx__thread_getstatus_data.dwMilliseconds);
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels