On Thu, Oct 28, 2010 at 2:12 PM, Charles Forsyth <fors...@terzarima.net> wrote:
> you're essentially replacing
>        f := open(name, ...)
>        ...
>        close(f)
>
> which runs as a sequential process, and subject to the usual rules for 
> sequential
> composition, by
>
>        f := open(name, ...)
>        ...
>        spawn clunk(f)
>
> which introduces a race with an invisible anonymous process with no means of 
> synchronisation.
>
>


Wouldn´t a better way be?:

f := open(name, ...)
tclunk(f);

spawn deallocfid(f); //and whatever needs to be done on Rclunk

Hmm, it would be more like sending the Tclunk and not waiting for the
response. That would mean
that the fid cannot be unmarked for reuse until the response is
received (asynchronously), so it can
be moved to a "stale fid" table to be deallocated later. Most of the
semantics are the same.

I agree that the performance gain is probably not enough to bother
anyway. You are still doing all the
walks and so on.

Unless clunk means something in slang :-P.

G.

Reply via email to