Proposal: a revoke() system call

Poul-Henning Kamp phk at phk.freebsd.dk
Mon Jul 7 16:04:12 UTC 2008


In message <1878557.67061215443549669.JavaMail.root at vms074.mailsrvcs.net>, Serg
ey Babkin writes:

>My thinking has been that if close() wakes them up, then things would be
>inherited from there. The thing I didn't know is that apparently in many cases close()
>doesn't wake them up.

It's a novel idea, seen with POSIX eyes, that a thread can close a
fd it is sleeping on, so the semantics, how obvious they might be,
is not described in the standards, and more importantly, not described
in the code either.

The device driver problem has more angles to it and should be thought
out separately, since the same basic functionality is required for
hardware removal, only more draconian.

I'm not saying that such a systemcall is not a good idea, I'm merely
very cautious about what it takes to implement it.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list