socket exceptions on SysV.4

socket exceptions on SysV.4

Post by 25421-flo » Sat, 08 Aug 1992 08:40:58



Various versions of TCP/IP for Intel System V.4 seem to return
bogus exceptions on sockets when seclect() is called.  In particular,
the Wollongong TCP/IP shipped with NCR/ATT's Starserver and the
Esix 4.0.4 TCP/IP seem to exhibit this problem.  Esix 4.0.3 doesn't. (?)
Has anyone else seen this and gotten somewhere with removing it?


 
 
 

1. Socket strangess on SysV derivatives

Hi. I am developing on various *NIX's using sockets for IPC.
I have run into a problem with all of them (specifically, IRIX 5.2
HP-UX A.09.01, Solaris 2.3, SunOS 4.1.3), except FreeBSD 2.0
(hence the cross-posts).

Summary of Project:
The spawner sits in a loop, connecting (as a client) to a database server
(which we also wrote) using TCP sockets. It gets info from the server about
jobs needing to run (kinda like "at"), and forks a copy of itself to run them
(using "exec") . It traps SIGCHLD  (using "signal" or "sigset" as apropos)
and uses "waitpid" to get the exit status of the child.

The problem:
When the SIGCHLD occurs during the middle of a socket read or write,
on everything execept FreeBSD, the program looses data that is being
sent over the socket. This results in garbage information (except on
IRIX which results in a seg-fault [untracable]).  When I do not trap
the signal (using "sigignore") everything works fine.

Additional Info:
I wrote a test suite which is a simplified version of the above.
It shows the same garbage results on Solaris 2.3, but works fine
on IRIX or HP-UX. Needless to say, it works fine on FreeBSD.

I've tried running things in the debugger, but it (gdb) gets confused
when it (the program) does the context switch for the signal, after which
I can't get any useful information.

Does anyone out there have ANY ideas about this?

Reply by email or follow-up to comp.protocols.tcp-ip
Thanx in advance.

-coranth

----------------------------------------------------+-----------------------+

                                                    |  need-to-know basis.
USMail: MSG,Inc., 10 Corporate Place                |
        Burlington, MA  01803-5168                  | You do not currently
Phone: (617) 273-2820   FAX: (617) 272-1068         |  need to know.
Disclaimer: They would never acknowledge I said it. +-----------------------+

2. I WANT MY LIFE BACK!!! Redhat 4.1 SLIP connection keeps disconnecting.

3. TLI, t_kopen, kernel sockets, SysV

4. Best sound card for linux?

5. socket.h on SYSV

6. MediaOne Cable Modem

7. Server Sockets in C++ with SysV IPC?

8. missing partition boot record when installing Solarisx86

9. Out-of-band data on sockets - how to detect "true" exceptions ?

10. Socket exceptions

11. exception conditions on sockets

12. Socket Exceptions

13. Clearing exception condition on a socket