Hello,
On MacOS X, dynamic libraries opened with erl_ddll:load or
load_driver are not closed when erl_ddll:unload/unload_driver is called.
Steps to reproduce:
* build a simple dynamic library, called simple_drv.so
* start a new erlang shell in the same directory.
* note down the PID.
* evaluate erl_ddll:load(".", "simple_drv").
* run lsof -p <PID> to see that indeed simple_drv.so file is open.
* evaluate erl_ddll:unload("simple_drv").
* run lsof -p <PID> to see that simple_drv.so file is still open.
This is specific to MacOS X and this is simply because the code
hasn't been written. On other Unix implementations, the erl_ddll code
calls dlopen and dclose.
The attached patch against R12B-4 fixes the bug and was tested on
MacOS X 10.4/ppc.
Regards,
Paul
_______________________________________________
erlang-bugs mailing list
erlang-bugs@...
http://www.erlang.org/mailman/listinfo/erlang-bugs