well, I (unfortunately) found a bug in the code.
or one of the players that likes to just sit at the screen and idle out did.
and this is a completely different problem from the other one, I do believe
this is stock code (i hand-patched in pl12).
It happens ONLY if someone idles out and gets force-rented and extracted.
it happens in this section of code in close_socket from comm.c
if (d->character) {
if (STATE(d) == CON_PLAYING || STATE(d) == CON_DISCONNECT) {
act("$n has lost $s link.", TRUE, d->character, 0, 0, TO_ROOM);
sprintf(buf, "Closing link to: %s.", GET_NAME(d->character));
>>>> mudlog(buf, NRM, MAX(LVL_IMMORT, GET_INVIS_LEV(d->character)), TRUE);
save_char(d->character, NOWHERE);
d->character->desc = NULL;
} else {
the mudlog line is the bug,
and the problem is the fact that player_specials are freed on the
character somewhere before this section of code.
I was wondering If maybe I missed a check for CON_DISCONNECT somewhere or
something.
would someone mind pointing me in the right direction?
Thanks.
Code On
Akuma the Raging Coder
+------------------------------------------------------------+
| "The poets talk about love, but what I talk about is DOOM, |
| because in the end, DOOM is all that counts." - |
| Alex Machine/George Stark/Stephen King, The Dark Half |
| "Nothing is IMPOSSIBLE, Just IMPROBABLE" |
| "Easier Said Than Done, But Better Done Than Said..." |
+------------------------------------------------------------+
+------------------------------------------------------------+
| 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