Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
zusuk wrote: I've had a few crashes when killing a mob that has a dg_event attached. It happens rarely, but it happens. Has there been any recorded issues with anyone else? I traced the crash to this part of the code in dg_event.c (which I have never touched):
I'm afraid to say "it could be a stock bug" because my code in general is so heavily modified, but I haven't changed how MOBs die, so I'm a bit puzzled.
Code:void event_process(void) { struct event *the_event; long new_time; while ((long) pulse >= queue_key(event_q)) { if (!(the_event = (struct event *) queue_head(event_q))) { log("SYSERR: Attempt to get a NULL event"); return; } /* Set the_event->q_el to NULL so that any functions called beneath * event_process can tell if they're being called beneath the actual * event function. */ the_event->q_el = NULL; /* call event func, reenqueue event if retval > 0 */ if ((new_time = (the_event->func)(the_event->event_obj)) > 0) the_event->q_el = queue_enq(event_q, the_event, new_time + pulse); else { if (the_event->isMudEvent && the_event->event_obj != NULL) free_mud_event((struct mud_event_data *) the_event->event_obj); /* It is assumed that the_event will already have freed ->event_obj. */ free(the_event); <------------ } } }
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
tbaMUD © 2024