Date: Mon, 15 Jun 2009 14:49:38 -0600 From: Colin Percival <cperciva@freebsd.org> To: John Baldwin <jhb@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r194262 - in head: include lib/libc/sys sys/compat/freebsd32 sys/kern tools/regression/file/closefrom Message-ID: <4A36B3E2.7060309@freebsd.org> In-Reply-To: <200906152038.n5FKctaR001026@svn.freebsd.org> References: <200906152038.n5FKctaR001026@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > One difference from other *BSD is that this closefrom() does not > fail with any errors. In practice, while the manpages for NetBSD and > OpenBSD claim that they return EINTR, they ignore internal errors from > close() and never return EINTR. DFly does return EINTR, but for the common > use case (closing fd's prior to execve()), the caller really wants all > fd's closed and returning EINTR just forces callers to call closefrom() in > a loop until it stops failing. Wouldn't it be better for portability if closefrom(2) is defined to return an int, even if the value returned is always zero? Otherwise people who want to write code which works on all BSDs end up having to do something like #ifdef __FreeBSD__ closefrom(x); #else while (closefrom(x)) continue; #endif -- Colin Percival Security Officer, FreeBSD | freebsd.org | The power to serve Founder / author, Tarsnap | tarsnap.com | Online backups for the truly paranoid
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A36B3E2.7060309>