Thomas Heller wrote:
And recently I played with bindings to OpenGL's glut32.dll - glut calls
exit() from internal C code.  If linked with the wrong CRT, this will do
nothing instead of terminating the process.

Interesting. Looking at the code of exit(), it is clear that the wrong atexit handlers will be called if you use the wrong CRT (i.e. only one set of atexit handlers will be called, whereas you might have multiple lists of atexit handlers); see atonexit.c.

It is not so clear why you could possibly get out of exit() without
actually exiting. The only possible code path I see in the msvcr71.dll
is when mscoree.dll is in the address space, in which case the CRT
will invoke CorExitProcess (!). In all other cases, it will invoke
ExitProcess, which, to my understanding, will terminate the process
unconditionally.

Regards,
Martin


_______________________________________________ Python-Dev mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to