On 13/08/2013 16:00, Dmitry Popoinikov wrote:
Hi David, I've tested my program with r1833. It seems everything is good.
Thanks to the suggestion from Jerry James I've been able to restore the code that detected when a thread had terminated. The problem with 1833 was that if a thread exited in foreign code, and that included threads that were originally created by the foreign code, the ML stack would never be deleted. Also, because the main thread had not detected the thread termination it might not exit properly when OS.Process.exit was called. That has all been fixed in the latest commit (1835).
I wanted to try and get this right not just for your case of threads being created in foreign code but also because this would be necessary if, in the future, there was a mechanism to export ML code as a shared library that could be linked to from a main program written in some other language.
David