"Mark A. Heilpern" <heilpern@MINDSPRING.COM> writes: > ObCircle: > Thanks to whomever first posed the idea to catch SIGSEGV's and > have them call copyover; great idea, and it seems to work reasonably > well for me so far. I have had a single odd occurance (which was actually > caused by a manual copyover, not a forced one): I had an error writing to > a socket descriptor after rebooting, and got caught in a loop requiring a > kill -9. After less than a few minutes of this, I had a 41 Meg log file > ::grins:: One problem I've found is that you need to be sure to close all descriptors you don't attach players to when you copyover. The problem is, if you exec and someone is in the CON_PASSWORD state, they won't be written to the copyover file. When the copyover happens, though, their descriptors are still open and they get nothing because the segv handler doesn't disconnect them (at least if you do it without calling do_copyover... I wrote separate functions). This is easily solved by a few lines in the copyover writer and parser (basically adding a "-2 %d" option that closes the descriptor %d). This could cause a program to run out of descriptors (which is a bad thing... very bad). -- 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