[comp.protocols.tcp-ip] Determining Socket Status

THIER@ORCAD2.dnet.ge.com (11/07/90)

	I am implementing a UDP/TCP/IP communication software package 
for a small network of SPARCStation 1+'s running 4.1 and Motorola
MVME147 boards running VADSWorks. Message receive tasks are to be
kicked off using the asynchronous I/O mechanism.

	My approach is to utilize SIGIO to alert the receive processing
to socket activity, and then use SELECT and the associated mask
manipulation macros to identify the active sockets. What I haven't
figured out is how to determine the cause of a given SIGIO. Sun 
documentation states that the signal is posted upon state changes to
the socket. Fair enough, but how does one go about determining
which change (e.g, connection establishment/disestablishment, data
available in receive queue, etc.) has occurred? SELECT, I assume,
flags data availability, but a look at the socket state #defines 
(SS_NODREF, etc.) tells me that I need more than that to safely 
multiplex sockets. Is there a socket (or file) status call that I'm
missing? Thanks in advance.


John Thier
GE DSD
Pittsfield MA
thier@orcad2.dnet.ge.com