Re: [RELEASE] [CODE] [LONG] Guilds Code Info.

From: James Turner (turnerjh@XTN.NET)
Date: 04/29/98


Christian Loth <sg618lo@UNIDUI.UNI-DUISBURG.DE> writes:

> Greetings,
>
>   This is not recommended at all, because after a SIGSEGV the
> state of a program is undefined if you catch the signal - moreover this
> really screws up any chances of debugging.

Yah, it is undefined, but it isn't all that bad.  This is possible:

(in the sigsegv handler)

if (fork() == 0) { /* parent process */
  *NULL = 0; /* force the crash */
}
else { /* child process */
  execute the mud
}

The memory might be undefined, but not the system itself.

Another alternative: whenever a player logs in or out, write a new
copyover file.  Then when it crashes, use the sig handler to call the
execlv and you're using data from a defined state.

Players would love it.

--
James Turner               turnerjh@xtn.net
                           http://www.vuse.vanderbilt.edu/~turnerjh/


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST