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