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