diff options
author | Rickard Green <[email protected]> | 2010-12-11 08:35:33 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2010-12-16 12:38:55 +0100 |
commit | 55251749b99ae51ce12c5dff2ac06ca5ceb02120 (patch) | |
tree | aa9a1278f40dff5dcf4b2aba1b493fab653802a4 /erts/emulator/beam/erl_process_lock.c | |
parent | dc122c3a919a2b2fb3ff1f02591ff1872de1c996 (diff) | |
download | otp-55251749b99ae51ce12c5dff2ac06ca5ceb02120.tar.gz otp-55251749b99ae51ce12c5dff2ac06ca5ceb02120.tar.bz2 otp-55251749b99ae51ce12c5dff2ac06ca5ceb02120.zip |
Use 32-bit atomic for uaflgs in thread specific events
Diffstat (limited to 'erts/emulator/beam/erl_process_lock.c')
-rw-r--r-- | erts/emulator/beam/erl_process_lock.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_process_lock.c b/erts/emulator/beam/erl_process_lock.c index 2e7bc73622..72560aa124 100644 --- a/erts/emulator/beam/erl_process_lock.c +++ b/erts/emulator/beam/erl_process_lock.c @@ -413,7 +413,7 @@ transfer_locks(Process *p, do { erts_tse_t *tmp = wake; wake = wake->next; - erts_atomic_set(&tmp->uaflgs, 0); + erts_atomic32_set(&tmp->uaflgs, 0); erts_tse_set(tmp); } while (wake); @@ -509,14 +509,14 @@ wait_for_locks(Process *p, ASSERT((wtr->uflgs & ~ERTS_PROC_LOCKS_ALL) == 0); - erts_atomic_set(&wtr->uaflgs, 1); + erts_atomic32_set(&wtr->uaflgs, 1); erts_pix_unlock(pix_lock); while (1) { int res; erts_tse_reset(wtr); - if (erts_atomic_read(&wtr->uaflgs) == 0) + if (erts_atomic32_read(&wtr->uaflgs) == 0) break; /* |