diff options
author | Lukas Larsson <[email protected]> | 2018-12-06 11:53:18 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2018-12-06 11:53:18 +0100 |
commit | ea7d6c39f2179b2240d55df4a1ddd515b6d32832 (patch) | |
tree | 117436f49db44ee51a9b28c0cf94e094c31ed280 /erts/emulator/sys/win32 | |
parent | 551e15331967551307b1618248334b20dce3241c (diff) | |
parent | 73e4f5f21bbf492ab61c01dee48fa09fd7309a50 (diff) | |
download | otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.tar.gz otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.tar.bz2 otp-ea7d6c39f2179b2240d55df4a1ddd515b6d32832.zip |
Merge branch 'maint'
Conflicts:
erts/emulator/beam/erl_process.c
Diffstat (limited to 'erts/emulator/sys/win32')
-rw-r--r-- | erts/emulator/sys/win32/erl_poll.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/erts/emulator/sys/win32/erl_poll.c b/erts/emulator/sys/win32/erl_poll.c index 39bb4d515e..3843a27a6e 100644 --- a/erts/emulator/sys/win32/erl_poll.c +++ b/erts/emulator/sys/win32/erl_poll.c @@ -1017,10 +1017,12 @@ ErtsPollEvents erts_poll_control(ErtsPollSet *ps, int erts_poll_wait(ErtsPollSet *ps, ErtsPollResFd pr[], - int *len) + int *len, + ErtsThrPrgrData *tpd, + Sint64 timeout_in) { int no_fds; - DWORD timeout = INFINITE; + DWORD timeout = timeout_in == -1 ? INFINITE : timeout_in; EventData* ev; int res = 0; int num = 0; @@ -1056,10 +1058,10 @@ int erts_poll_wait(ErtsPollSet *ps, HARDDEBUGF(("Start waiting %d [%d]",num_h, (int) timeout)); ERTS_POLLSET_UNLOCK(ps); - erts_thr_progress_prepare_wait(NULL); + erts_thr_progress_prepare_wait(tpd); ERTS_MSACC_SET_STATE_CACHED(ERTS_MSACC_STATE_SLEEP); handle = WaitForMultipleObjects(num_h, harr, FALSE, timeout); - erts_thr_progress_finalize_wait(NULL); + erts_thr_progress_finalize_wait(tpd); ERTS_MSACC_POP_STATE(); ERTS_POLLSET_LOCK(ps); HARDDEBUGF(("Stop waiting %d [%d]",num_h, (int) timeout)); |