bug in file descriptor passing
Taylor R Campbell
campbell at mumble.net
Mon May 4 00:47:35 CEST 2009
Date: Sun, 3 May 2009 23:17:24 +0200
From: Marc Lehmann <schmorp at schmorp.de>
Hmm, I see you submitted a bug report about this a year ago:
http://mail-index.netbsd.org/netbsd-bugs/2008/06/20/msg004382.html
So I guess the issue is that netbsd is factually buggy w.r.t. alignment, so
we have to use malloc and the new macros, to make it run, regardless of what
the standard has to say about it?
No. NetBSD was broken, and there was code that NetBSD would run
either on i386 or on PowerPC but not on both. Now NetBSD is not
broken, and it, along with OpenBSD, FreeBSD, Linux, Darwin, and
Solaris, will be happy with any code you throw at it that correctly
(per RFC 2292) sets up buffers with CMSG_SPACE and CMSG_LEN. This is
what is documented to work in RFC 2292 and in the man pages for nearly
every operating system I listed (NetBSD, OpenBSD, Linux, and Solaris).
It may currently empirically work to construct the buffer with struct
{ struct cmsghdr hdr; int fd; }, but at the moment I can't test
whether that does work on platforms such as the PowerPC. I did test
the patch I sent you, though, on the PowerPC, so that the idiom with
CMSG_SPACE and CMSG_LEN is confirmed both by documentation and by
experiment.
Date: Sun, 3 May 2009 23:49:53 +0200
From: Marc Lehmann <schmorp at schmorp.de>
Anyway, the patch is applied, together with some other libptytty cleanups,
and a libptytty release is done soon.
Thanks!
More information about the rxvt-unicode
mailing list