Re: NEWBIE: Ident handler and do_finger command...

From: Eric Green (egreen@cypronet.com)
Date: 05/28/96


>I just tried to login from my computer using PPP to the MUD i had
>running on my shell and came across a small problem.  Im assuming it is
>because i dont have ident on my computer but basically what happened is
>it crashed as soon as i connected. This is the gdb output:
>
>Program received signal SIGPIPE, Broken pipe.
>0xef6abebc in _write ()
>(gdb) backtrace
>#0  0xef6abebc in _write ()
>#1  0x3f36c in ident_check (d=0x1093d8, pulse=2) at ident.c:136
>#2  0x12358 in game_loop (mother_desc=6) at comm.c:578
>#3  0x11af8 in init_game (port=4111) at comm.c:244
>#4  0x11a7c in main (argc=4, argv=0xeffffd24) at comm.c:214
>

This isn't a crash.  Circle receives a PIPE signal because the is no reader
(no identd running on the machine you are connecting from).  Circle is set
to ignore this signal, but gdb is set to break when it is received.  When
you start gdb, give it the command "handle SIGPIPE nostop", and it won't
break.  You can also just type "cont" to continue after receiving the
SIGPIPE.


>Also i still haven't figured out how i can determine whether a character
>is logged on or not and if they are what their current CON_XXXX is.  I
>tried to look through the do_users command but i didn't see a way to
>search for characters that werent logged in with those methods.

d->connected will tell you the current CON_xxx of a player (where d is the
descriptor_data for the player).  Everyone connected to your game will show
up with the users command, whatever state they are in.  You will rarely see
anyone in one of the CON_IDxxx states though, since it is usually quick.


Has anyone tried the ident patch on a windows machine?  I'm curious if it works.


Eric



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