sockets, BAD BUG

From: Greg Alexander Irvine (
Date: 09/04/95

Welp, after the discussions the other day about sockets and Jeremy's
revelation that there is still problems, i did some testing.

Here is one HUGE problem at the moment for all who havent discovered it.

As Jeremy said, a player can be on multiple times (but only up until the
menu stage).  
What this means is that characters with the same name can be created
simultaneously.  This means that (and i've checked) this name exists twice
in the pfile.  They continue to exist simultaneously oblivious of each
other until both have left the gme, and then, whichever was created second
(ie. after the class selection normally) becomes the "only one", and hence
one is lost.  (this is not 100% correct, the first can be saved if the
second was self deleted b4 quitting the menu, ie. after quitting for the
first time, the player was delete, and i nthis case the other character is
reverted to the first character created).  (note that although the players
have the same name they DONT have the same IDNUM! and hence the
close_socket operation to close all sockets of a char with the same id (to
prevent duping) doesnt close both sockets).

To avoid this sort of conflict I thought ("thought" == not done),  to put
a quick check in if a character is "new" to check all the names of all
connected sockets for the same name. if it exists then just say "already
exists" and close the socket.  

But, as Jeremy said, he has done a total rewrite of this portion of code
to handle duping etc.

What I would like to ask is that Jeremy either post sections of the new
code that handles all this appropriately, or just post the interpret.c and
comm.c and let us coders snatch the right bits and do our own rewrites
(especially for those of us who dont intend to upgrade the mud to the new
bpl9 when it comes out).  And even if you wont post it here, maybe stickit
in the ftp site or something.  this would be greatly appreciated by the
masses I'm sure. :)


This archive was generated by hypermail 2b30 : 12/07/00 PST