Re: select for UNIX sockets?

From: Valdis.Kletnieks@vt.edu
Date: Thu Jun 05 2003 - 19:28:46 EST


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....



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:29 EST