aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-05-04 19:12:42 +0200
committerBjörn-Egil Dahlberg <[email protected]>2015-05-04 19:12:42 +0200
commit6bef0d08142e961d562a7fce4d8b036a32b2b98b (patch)
treeb35edc227ca14e4edafc683d26d1b70966b72247 /erts/emulator/beam
parent7e65166947985bc62d0f5c903856323194bf07b9 (diff)
downloadotp-6bef0d08142e961d562a7fce4d8b036a32b2b98b.tar.gz
otp-6bef0d08142e961d562a7fce4d8b036a32b2b98b.tar.bz2
otp-6bef0d08142e961d562a7fce4d8b036a32b2b98b.zip
erts: Use a lockable allocator on 'sys_write_buf'
sys_write_buf allocator type is used from async-threads and needs to be lockable. In the SMP case the temporary allocator is lockable but not in the Non-SMP case. To remedy this the binary-allocator is used for the Non-SMP case, which is lockable.
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/erl_alloc.types5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_alloc.types b/erts/emulator/beam/erl_alloc.types
index e2f8da38b9..074f864dee 100644
--- a/erts/emulator/beam/erl_alloc.types
+++ b/erts/emulator/beam/erl_alloc.types
@@ -419,7 +419,12 @@ type ENVIRONMENT TEMPORARY SYSTEM environment
type PUTENV_STR SYSTEM SYSTEM putenv_string
type PRT_REP_EXIT STANDARD SYSTEM port_report_exit
type SYS_BLOCKING STANDARD SYSTEM sys_blocking
+
++if smp
type SYS_WRITE_BUF TEMPORARY SYSTEM sys_write_buf
++else
+type SYS_WRITE_BUF BINARY SYSTEM sys_write_buf
++endif
+endif