From 7d54af059fffd27286f6a236470a9096c09921a9 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Wed, 22 May 2019 17:48:00 +0200 Subject: erts: Add some erl_nif doc clarifications --- erts/doc/src/erl_nif.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml index f88d255296..d74ae23a93 100644 --- a/erts/doc/src/erl_nif.xml +++ b/erts/doc/src/erl_nif.xml @@ -1495,6 +1495,9 @@ enif_free_iovec(iovec);]]> term.

Returns true on success, or false if term is not a handle to a resource object of type type.

+

enif_get_resource does not add a reference to the resource + object. However, the pointer received in *objp is guaranteed to + be valid at least as long as the resource handle term is valid.

@@ -2947,6 +2950,10 @@ enif_map_iterator_destroy(env, &iter); References made by enif_make_resource can only be removed by the garbage collector.

+

There are no guarantees exactly when the destructor of an + unreferenced resource is called. It could be called directly by + enif_release_resource but it could also be scheduled to be + called at a later time possibly by another thread.

-- cgit v1.2.3