On Mon, Jan 29, 2001 at 03:13:05PM +0100, mouss wrote:
> I fully agree that we'd better mimic netbsd than aix...
> but the netbsd closeall() is just a libc function that calls close()
> for all descriptors. so we can still mimic it with:
>
> #define closeall(start) fcntl(start, F_CLOSEM, 0)
Better a function than a macro.
> and with this, we have both netbsd and aix compat. note that if I
> do it for freebsd, I'll do the same for netbsd and openbsd (I'm a fan of
> *BSD convergence [I don't mean they should be the same, but unjustified
> diffs should be killed whenever possible]:).
>
> As for the "generic" syscall mechanism, I'd love it. I think that
> there are many places where "names" would be good, instead of
> hardcoded numbers. The only problem is to find a way to do that
> without reducing performance. names are good. just try to see what it
> would be if filenames were replaced by inodes. I think that having a
> name-based mechanism makes it easier to add new syscalls or reject
> deprecated ones.
Performance is not much of an issue. A perfect hash can be generated
for syscall names.
[snip]
> back to the closeall, here is what I suggest:
> - add the fcntl option. the coherence arg is certainly reasonable, but
> fcntl is not a "cohrent" function
> (thanks to svr4 lobbying into posix:).
> - add a closeall macro to call it.
>
> this gives both aix and netbsd compat (and if the fcntl thing goes into
> netbsd, the compat would be full).
I really do not care for using fcntl with this. fcntl operates on a
single file descriptor -- F_CLOSEM mucks up the interface.
--
Jacques Vidrine / [EMAIL PROTECTED] / [EMAIL PROTECTED] / [EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message