Quote ------> I would like to know the meanings of the following SYSERR's I have encounted over a period of time... SYSERR: CHECKPOINT shutdown: tics not updated well after looking though the errors again, I only came up with one so far i don't know the meaning of.... <-----Quote ok... in comm.c: setup_signals(){ . . . /* * set up the deadlock-protection so that the MUD aborts itself if it gets * caught in an infinite loop for more than 3 minutes. Doesn't work with * OS/2. */ #ifndef CIRCLE_OS2 interval.tv_sec = 180; interval.tv_usec = 0; itime.it_interval = interval; itime.it_value = interval; setitimer(ITIMER_VIRTUAL, &itime, NULL); my_signal(SIGVTALRM, checkpointing); #endif . . . } RETSIGTYPE checkpointing() { if (!tics) { log("SYSERR: CHECKPOINT shutdown: tics not updated"); abort(); } else tics = 0; } so... something sent off a SIGVTALRM, calling the checkpointing function. from `man signal` SIGVTALRM 28 Exit Virtual Timer Expired essentially, you are stuck in a loop, the timer sends out a SIGVTALRM (a wakeup call) every 180 seconds, calling the function checkpointing. checkpointing then sets tics to 0. now, if tics is already 0, the mud dies because there have been no tics in the last 180 seconds. there should be around 1800 tics. (pulses) at 1 tics/.1sec. if you are really interested in how this works, man signal, man setitimer. have fun... LUCK! --Angus +------------------------------------------------------------+ | 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/08/00 PST