Re: select for UNIX sockets?

Valdis.Kletnieks
2003-06-06T00:15:20Z

[-- Attachment #1: Type: text/plain, Size: 730 bytes --]

On Wed, 04 Jun 2003 14:19:34 +0200, Petr Vandrovec said:

> > > FD_ZERO(&set);
> > > FD_SET(fd, &set);
> > > select(FD_SETSIZE, NULL, &set, NULL, NULL); <<<<<<< for writing
> > >
> > > if (FD_ISSET(fd, &set))
> > > sendto(fd, &datagram, 1, 0, ...);

> Besides that select() on unconnected socket is nonsense... If you'll
> change code to do connect(), select(), send(), then it should work,
> unless I missed something.

We FD_SET the bit, ignore the return value of select, and test if the bit is
still set. Plenty of programming bad karma there. However, one would vaguely
hope that the kernel would notice that the socket isn't connected and -ENOTCONN
rather than blocking....

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]