On Tue, 15 Nov 2016 09:46:14 -0800, timo wrote:
> The issue is that libuv will under some circumstances call the read
> callback with an nread of 0 (deliberately the number 0), which we
> interpret as an error.
> 
> The Solution™ is either to not call async_read at all when nread is 0,
> or to just return early from async_read when nread is 0.
> 
Or, even easier, to just change the incorrect `nread > 0` check to an `nread >= 
0` check, which is what I've done in MoarVM commit 20e968b.

Remaining question is if/how we should test this, short of just taking the code 
in here, adding a platform check for places that have a `find` command, and 
shoving it in as a stress test. Thoughts welcome.


Reply via email to