>Also, if that is racy, isn't this at least analogous?

i don't think so: that instance is entirely at the discretion of the programmer.
it would be analogous if the text of the program actually contained `spawn 
clunk(f)',
but i was trying to represent the effects of the rewriting the system would be 
doing, and that
rewriting (as it has been presented) is built in to the system call.

the race is that there's nothing to say that the clunk completes before the
process continues on to do something more, including some action that depends 
on the clunk completing,
such as simply repeating the open. that open can fail if the mode or the name
imposes particular constraints; constraints that depend on the order of events 
as
expressed by the process.

months ago, i did test an example on the system that "just works", by the way,
and it did fail. it often takes a few attempts for it to fail,
because it depends on scheduling (often the system completes the clunk before
returning to the original process), but there's nothing to stop it failing 
immediately.

Reply via email to