<div dir="ltr">The reasonable way would be to use a ref-counted pointer to struct which will be shared by both NIF modules. I believe it must also be allocated somewhere in VM memory in case both NIF modules get unloaded. As C is not particularly famous for its smart refc pointers, you will have to find a library or do it yourself, and hook the refc check onto both NIF resource free functions.<br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 8 Jan 2019 at 14:11, Lukas Larsson <<a href="mailto:lukas@erlang.org">lukas@erlang.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello,</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 3, 2019 at 2:53 PM Wu Ray <<a href="mailto:mjollnir.ray@gmail.com" target="_blank">mjollnir.ray@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I have a C struct, as a NIF resource type, and want it to be shared between several NIF modules, is it possible?<br></div></div></blockquote><div><br></div><div>As far as I know it is not possible.</div><div><br></div><div>Lukas</div></div></div>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>