[Python-Dev] MinGW And The other Py2.4 issue (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Mon Dec 13 23:31:57 CET 2004


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



More information about the Python-Dev mailing list