non-blocking socket connection

Patrick Decowski (decowski@mit.edu)
Tue, 29 Apr 1997 15:07:21 -0400 (EDT)


hi,

i need to implement a non-blocking socket connection on a TServerSocket. i
set this up using SetOption(kNoBlock, 1). everything works fine, however i
get the following error messages when there is no client socket connected:

SysError in <TUnixSystem::AcceptConnection>: accept (Resource temporarily
unavailable)
SysError in <TUnixSystem::GetPeerName>: getpeername (Bad file number)

looking at the source code, i see that in TUnixSystem::AcceptConnection(),
which is called by TServerSocket::Accept() there is no check on the
EWOULDBLOCK error code which will presumably be set for non-blocking
sockets. i was wondering if i am trying to implement something in a
roundabout way or if this was an ommission?

thanks,
patrick.