From owner-freebsd-current Mon Jul 1 09:27:15 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA07841 for current-outgoing; Mon, 1 Jul 1996 09:27:15 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id JAA07833 for ; Mon, 1 Jul 1996 09:27:12 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id CAA00440; Tue, 2 Jul 1996 02:23:05 +1000 Date: Tue, 2 Jul 1996 02:23:05 +1000 From: Bruce Evans Message-Id: <199607011623.CAA00440@godzilla.zeta.org.au> To: bde@zeta.org.au, fenner@parc.xerox.com Subject: Re: Problem Report docs/731 Cc: current@freebsd.org, terry@lambert.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >In message <199606290759.RAA29925@godzilla.zeta.org.au> you write: >>2a) Investigate possible breakage of socketpair() in foreign libraries >> (BSDI, Linux, etc). Any library that uses the previously suggested >> fix of handling socketpair() like pipe() will break. >NetBSD doesn't touch retval at all (e.g. they simply deleted the two >XXX lines), like many system calls. Terry's suggestion of setting it >to 0 obviously does no harm but is kind of belt-n-suspenders. Thus >fixing it in libc will likely break NetBSD compatibility. Linux (the FreeBSD emulator) needs the same treatment as NetBSD. I think it needs a `*retval = 0;' if we fix the problem in the library. Linux uses the same method (of returning the results in memory) for pipe(), so the emulator has to do a copyout() for pipe(). This leaves only BSDI to investigate. Bruce