Program received signal SIGPIPE, Broken pipe.
Hi I have a problem with a child proces, I 'll try to explain a bit of my program first:
It's a networked system that simulates an intelligent house, every room is a program they are connected with eachother by dors (in this case sockets AF_INET TCP) every person on each room is another program (not child) and also conected by sockets to the room.
Ok this is what happend when I have the crash:
I have 2 rooms(R1 and R2) and 1 person (P1), first P1 is in R1, when P1 goes to R2 the proces is killed and reborn in R2 ( I must do it this way) its reborn by makeing fork() in R2 and then execl(), when P1 returns to R1 the same thing happend again, Ok now P1 is back again in R1 but this time as a child proces of R1. Im using ncurses last dist, if I hit a few times any key the room (R1) program gives me this:
Program received signal SIGPIPE, Broken pipe.
0xffffe410 in ?? ()
(gdb) where
#0 0xffffe410 in ?? ()
#1 0xbfffd698 in ?? ()
#2 0x40142ff4 in ?? () from /lib/tls/libc.so.6
#3 0xbfffd670 in ?? ()
#4 0x400e8a41 in send () from /lib/tls/libc.so.6
#5 0x0804a07f in MySend (iSocket=7, cBuffer=0xbfffd710, iLen=21, iMode=1) at lib_socket.c:137
The key manager have nothing to do with this crash, cuz I have tested it with P1 connected to R1 but not as child and this dosent happend, Im reading sockets and keyboard using select(), I have a signal handler for SIGCHLD, SIGPIPE, and others.
Please help me or point me in any direcction, or ask me for more information if you need it.
Tanks Damian.
Last edited by grupoapunte; 06-02-2005 at 06:53 PM.
|