[erlang-questions] NIF ErlNifEnv thread safety?
Sverker Eriksson
sverker.eriksson@REDACTED
Thu Apr 23 18:20:10 CEST 2015
On 04/23/2015 05:54 PM, Daniel Goertzen wrote:
> Can multiple threads safely use the same process-independent
> ErlNifEnv? The documentation isn't clear to me. From
> http://www.erlang.org/doc/man/erl_nif.html ...
>
> "Threads and concurrency
>
> A NIF is thread-safe without any explicit synchronization as long as
> it acts as a pure function and only reads the supplied arguments. As
> soon as you write towards a shared state either through static
> variables or enif_priv_data you need to supply your own explicit
> synchronization. This includes terms in process independent
> environments that are shared between threads. Resource objects will
> also require synchronization if you treat them as mutable."
>
>
Would it be clearer if "terms in" was removed from the third sentence:
"This includes process independent environments that are shared between
threads."
/Sverker, Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150423/775d55d4/attachment.htm>
More information about the erlang-questions
mailing list