Xref: utzoo comp.unix.programmer:595 comp.unix.sysv386:2577 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!smurf!gopnbg!mcshh!lutzifer!wedel!pirx From: pirx@wedel.hanse.de (Jan Hinnerk Haul) Newsgroups: comp.unix.programmer,comp.unix.sysv386 Subject: sockets under ESIX Rev. D - beginner's question Summary: listen(fd,5) dumps core ?! Message-ID: <2629@wedel.hanse.de> Date: 26 Nov 90 20:43:14 GMT Organization: Me, Myself, and I - Wedel, Germany Lines: 119 I'm at the end of my wits, so methinks I should ask the gurus... Just beginning to play with sockets (wanting to build a multi-machine chat program), I receive core dumps in listen(). The code below is not mine; I changed only some #include directives (ESIX has the network stuff in /usr/include/lan) and inserted one or two printfs. The main() is mine, of course. The code belows cores in listen(). Here it goes: /* SOCKET.C ** ** Written by Steven Grimm (koreth@ebay.sun.com) on 11-26-87 */ /* ** some #include changed foe ESIX Rev D. JHH */ #include #include #include #include #include #include #include #include #include extern int errno; int serversock(port) int port; { int sock, x; struct sockaddr_in server; sock = socket(AF_INET, SOCK_STREAM, 0); if (sock < 0) return -errno; memset(&server, 0, sizeof(server)); server.sin_family = (short) AF_INET; server.sin_addr.s_addr = (ulong) INADDR_ANY; server.sin_port = (ushort) htons(port); x = bind(sock, &server, sizeof(server)); if (x < 0) { close(sock); return -errno; } printf("socket created: port= %x \n", server.sin_port); listen(sock, 5); /* CODE DUMPS HERE IN listen(3,5) */ return sock; } main() { int Socke; char puffer[1024]; Socke=serversock(0x1234); if (Socke<0) exit (1); exit(0); } sdb points out: Script started on Mon Nov 26 20:25:55 1990 $ cc -g -o sockquestion sockquestion.c -lbsd -lnet -lnsl_s $ sockquestion socket created: port= 3412 Bus error - core dumped $ sdb sockquestion sock_strm.c: No such file or directory 0x43a in listen:No lines in file *t listen(3,5) [sock_strm.c] serversock(port=4660) [sockquestion.c:48] main(1,0x7ffffe94,0x7ffffe9c) [sockquestion.c:60] *q $ script done on Mon Nov 26 20:28:59 1990 Now I'm quite lost. The code of socket.c is reported to work, and a friend of mine with some socket knowledge (he hacked unix-domain sockets into the xenix/286 kernel :-) does not se an error in the above code. Oh well, it's ESIX SysV/386 Rev. D, 386, 8MB RAM, all network daemons up and running (besides sendmail - smail 3.1 suffices for my needs), a 3C503 ethernet board installed (but nothing connected to it) and recocnized by the kernel. So what's going on here? Any help would be appreciated - but please do not send me long mails, I have to pay for them :-( Best regards Jan --> Jan Hinnerk Haul Hinter jedem guten Paradoxon steckt ein Kreter - +49 4103 15427 voice und wenn er noch so kurze Beine hat. DRH