On Tue, 20 Dec 2022 10:51:20 GMT, Dawid Weiss <d...@openjdk.org> wrote:
>> Well this has the potential of creating a busy loop since bytesWritten will >> not increase if zero is returned. > > I know that. But write should eventually make progress - even if it spins a > few times. What's the point of having that JDK method explicitly state "may > return 0" and then disregarding that as something that is an exceptional > scenario? I don't see the consistency here... If it can return zero, fine - > handle it by retrying. If this code falls into a spin loop and never makes > progress - this would be a problem somewhere else (perhaps in the > implementation of the file channel), not here. I'm on the fence a little on this point. I really dislike the potential for a busy loop, but also don't want the added complication of retry/backoff in this loop. But really the latter is the right solution. lemme see how it looks. ------------- PR: https://git.openjdk.org/jdk/pull/11722