-----Original Message-----
From: Chris Jacobson <fear@ATHENET.NET>
To: CIRCLE@POST.QUEENSU.CA <CIRCLE@POST.QUEENSU.CA>
Date: Friday, March 13, 1998 5:57 PM
Subject: Re: [CODE][BUG] Missed Pulses.
>On 3/13/98 10:19 AM, Luis Pedro Passos Carvalho (lpcarvalho@SONAE.PT)
>stated:
>
>>The other one is making clean_events/run_events be aware of each other in
>>order to be resistant to that
>>kind of ocurrence. I'll look into it this afternoon.
>
>Even easier solution: remove the event from the list as soon as it is
>decided it is to be processed. This way the "current event" (which will
>be freed by run_events() itself) is not even seen by clean_events(). No
>need to worry about the contents of the event structure - they are mere
>pointers, and are never touched/freed (which can cause memory leaks in
>the case of allocated data being pointed to by the info member of an
>event during clean_events()).
>
That way you don't solve the problem, you just move it to the next event in
line to be processed.
run_events saves the next event to be processed in a local variable, deletes
the current one then runs it.
If the next event is free'ed when you go back to run_events you still have a
problem the event you want
doesn't exist. :(
I'm going to redesing the event system anyway, might as well have that into
account.
See ya all,
Luis Carvalho
+------------------------------------------------------------+
| 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