https://gitlab.synchro.net/main/sbbs/-/commit/acfdd2f82af3bd893f217aa5
Modified Files:
src/doors/clans-src/src/door.c fight.c quests.c system.c
Log Message:
Handle libraries that call exit()
OpenDoors will call exit() under you sometimes, and there's really
no way to stop it. That means to clean up the semaphore, we need
to use an atexit() handler.
System_Close() already does everything we need, I just need to make
sure nothing is calling exit() to avoid it now. :(
So, I've split it into System_CloseAtExit() which should only be
called from exit() and System_Close() which calls it. It tries to
detect if exit() was called from System_CloseAtExit() and falls back
to abort() with a diagnostic, since abort() is the thing most likely
to flush buffers but not call atexit() handlers.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net