[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: signal() behavior



Yet another problem - Linux only implements socketpair() for Unix-domain
sockets. Do other platforms support Unix-domain sockets at all?

> At 06:07 PM 8/24/99 -0700, Howard Chu wrote:
> >Well, in that case the same behavior can be obtained using
> socketpair() if
> >it's available, or just a regular pair of sockets bound to localhost.
> >
> >I don't have recent enough knowledge about NT or MacOS to
> comment on their
> >support for pipes. I don't recall MacOS providing pipes at all...
>
> It's not that NT doesn't have pipes, it does.  You just cannot
> select() on them.  For a quick clue as to which systems pipe()
> won't work on, see <ac/socket.h>... any system requiring something
> where close(socket()) is likely not going to support select() on
> a pipe.
>
> I'd suggest using socketpair() if it exists.  If socketpair()
> doesn't exist, I do NOT recommend falling back to pair().  a
> socketpair() replacement can easily be implemented.
>
> Anyways, I suggest adding the new code behind HAVE_SOCKETPAIR.
> Than configure can detect socketpair().  If it doesn't exist,
> socket.h can provide a prototype for a replacement and define
> HAVE_SOCKETPAIR.
>
> Kurt
>