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

Reply via email to