Need reviewer for 6913877: (fs) AsynchronousFileChannel.write can return wrong result under load [win]
Alan Bateman
Alan.Bateman at Sun.COM
Tue Jan 5 03:03:32 PST 2010
Christopher Hegarty -Sun Microsystems Ireland wrote:
> Alan,
>
> This change looks good. I have just one question about the requirement
> to call Invoker.invoke(result) at the end of the run method of
> WriteTask. I can see that in the ReadTask case this may be an
> optimization for EOF, but I don't think it is necessary for write. If
> you run with system assertions enabled and write throws an Exception
> then the assertion in Invoker.invoke will be triggered, right?
>
> Otherwise looks good.
>
> -Chris.
Thanks Chris. If a write operation is initiated specifying a completion
handler, and the write operation cannot be initiated then the completion
handler's failed method must be invoked. That Invoker.invoke(result)
does that (directly or indirectly depending on if it's a pooled-thread
or not).
-Alan.
More information about the nio-dev
mailing list