Re: Problem with socketpair , AF_UNIX and select call - can anybody through any light on this!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 12, 2007 at 11:25:34AM +0100, Howard Wilkinson wrote:
>  Luciano Rocha wrote:
> > ......
> > Is there a reason for using SOCK_DGRAM instead of the usual SOCK_STREAM?
> > The latter will make the recv return 0, indicating the other end closed
> > the connection, as it did happen, as one peers exits before the other
> > select(2)s:
> >
> > $ ./socketpair server - Socket is ready to write
> > server - Socket is not ready to read
> > exited: 14520
> > master - Socket is ready to write
> > master - Socket is ready to read
> > master - recv - Resource temporarily unavailable(11)
> >
> > This could be a bug, or standard behaviour for disconnected datagram
> > sockets (I don't know enough of the standards).
> >
> >   
>  I attach a slightly improved version. This sleeps for an hour on both sides. 
>  I have tried removing the MSG_DONTWAIT but still get the same response.
> 
>  The SOCK_DGRAM is because I have small packets flowing that I do not want 
>  fragmented but do not mind if they get lost, .... but then inside a machine 
>  that does not matter. However with SOCK_STREAM I get zero length messages 
>  but still ready to read continuously!!! See attached!

Yes, that means the other end closed the connection. EOF isn't set in
efds, but in rds.

Also, see poll(2) if you'll be waiting on a small number of file
descriptors.

-- 
lfr
0/0

Attachment: pgpGxHaDE9wlY.pgp
Description: PGP signature


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux