diff options
author | Rickard Green <[email protected]> | 2011-03-07 17:04:02 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2011-03-08 09:47:52 +0100 |
commit | a37ee29884eaaf8b177cec19821159c938ddf6ff (patch) | |
tree | 192cdf554814a4ebf6d354443a9a607417fd2efd /erts/include/internal/pthread | |
parent | 422c3eda25ce9cb67a815aac5b0254432b0d44f7 (diff) | |
download | otp-a37ee29884eaaf8b177cec19821159c938ddf6ff.tar.gz otp-a37ee29884eaaf8b177cec19821159c938ddf6ff.tar.bz2 otp-a37ee29884eaaf8b177cec19821159c938ddf6ff.zip |
The emulator could get into a state where it didn't check for I/O.
Diffstat (limited to 'erts/include/internal/pthread')
-rw-r--r-- | erts/include/internal/pthread/ethr_event.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/include/internal/pthread/ethr_event.h b/erts/include/internal/pthread/ethr_event.h index 93da8a0429..b74b76a443 100644 --- a/erts/include/internal/pthread/ethr_event.h +++ b/erts/include/internal/pthread/ethr_event.h @@ -62,7 +62,7 @@ static void ETHR_INLINE ETHR_INLINE_FUNC_NAME_(ethr_event_set)(ethr_event *e) { ethr_sint32_t val; - ETHR_WRITE_MEMORY_BARRIER; + ETHR_MEMORY_BARRIER; val = ethr_atomic32_xchg(&e->futex, ETHR_EVENT_ON__); if (val == ETHR_EVENT_OFF_WAITER__) { int res = ETHR_FUTEX__(&e->futex, ETHR_FUTEX_WAKE__, 1); @@ -99,7 +99,7 @@ static void ETHR_INLINE ETHR_INLINE_FUNC_NAME_(ethr_event_set)(ethr_event *e) { ethr_sint32_t val; - ETHR_WRITE_MEMORY_BARRIER; + ETHR_MEMORY_BARRIER; val = ethr_atomic32_xchg(&e->state, ETHR_EVENT_ON__); if (val == ETHR_EVENT_OFF_WAITER__) { int res = pthread_mutex_lock(&e->mtx); |