diff options
author | Rickard Green <[email protected]> | 2017-01-24 19:50:25 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-02-06 18:11:32 +0100 |
commit | fc0477a67641b9ba344de595b7fec2431208f8e6 (patch) | |
tree | ab1933ee3e08cb4dd91e63663aab1f1f0c705129 /erts/emulator/beam/erl_fun.h | |
parent | bca5bf5a2d68a0e9ca681363a8943809c4751950 (diff) | |
download | otp-fc0477a67641b9ba344de595b7fec2431208f8e6.tar.gz otp-fc0477a67641b9ba344de595b7fec2431208f8e6.tar.bz2 otp-fc0477a67641b9ba344de595b7fec2431208f8e6.zip |
Atomic reference count of binaries also in non-SMP
NIF resources was not handled in a thread-safe manner in the runtime
system without SMP support.
As a consequence of this fix, the following driver functions are now
thread-safe also in the runtime system without SMP support:
- driver_free_binary()
- driver_realloc_binary()
- driver_binary_get_refc()
- driver_binary_inc_refc()
- driver_binary_dec_refc()
Diffstat (limited to 'erts/emulator/beam/erl_fun.h')
-rw-r--r-- | erts/emulator/beam/erl_fun.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_fun.h b/erts/emulator/beam/erl_fun.h index caa55c730c..0fd0d62343 100644 --- a/erts/emulator/beam/erl_fun.h +++ b/erts/emulator/beam/erl_fun.h @@ -42,7 +42,7 @@ typedef struct erl_fun_entry { Uint arity; /* The arity of the fun. */ Eterm module; /* Tagged atom for module. */ - erts_refc_t refc; /* Reference count: One for code + one for each + erts_smp_refc_t refc; /* Reference count: One for code + one for each fun object in each process. */ BeamInstr *pend_purge_address; /* address stored during a pending purge */ } ErlFunEntry; |