diff options
author | Lukas Larsson <[email protected]> | 2014-10-30 11:27:15 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2014-10-30 11:27:15 +0100 |
commit | c3baa2ad6a7877ef1c2081d50903f3e513292339 (patch) | |
tree | 6921205d0e3949cfca01c625714a17c9a81a456e /erts/emulator/sys/win32 | |
parent | 9e9d456cc9db4f04b07afe1d149a0065f85409b1 (diff) | |
download | otp-c3baa2ad6a7877ef1c2081d50903f3e513292339.tar.gz otp-c3baa2ad6a7877ef1c2081d50903f3e513292339.tar.bz2 otp-c3baa2ad6a7877ef1c2081d50903f3e513292339.zip |
erts: Fix hanging in fd_stop on windows
When reaping ports the flushReplyEvent is not signalled and therefore
an errornous loop check caused the emulator to hang forever during
shutdown.
Diffstat (limited to 'erts/emulator/sys/win32')
-rw-r--r-- | erts/emulator/sys/win32/sys.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/sys/win32/sys.c b/erts/emulator/sys/win32/sys.c index 0ded6b274e..62de462b93 100644 --- a/erts/emulator/sys/win32/sys.c +++ b/erts/emulator/sys/win32/sys.c @@ -2190,7 +2190,7 @@ static void fd_stop(ErlDrvData data) ASSERT(dp->out.flushEvent); SetEvent(dp->out.flushEvent); } while (WaitForSingleObject(dp->out.flushReplyEvent, 10) == WAIT_TIMEOUT - || !(dp->out.flags & DF_THREAD_FLUSHED)); + && !(dp->out.flags & DF_THREAD_FLUSHED)); } } |