io_interface: Modify netWrite to only block while reading into the first slice
This commit is contained in:
@@ -1215,9 +1215,13 @@ fn netRead(userdata: ?*anyopaque, fd: net.Socket.Handle, data: [][]u8) net.Strea
|
|||||||
if (buffer.len == 0)
|
if (buffer.len == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const n = node.readSocket(fd, buffer, true) catch |err| switch (err) {
|
const block = (copied == 0);
|
||||||
|
const n = node.readSocket(fd, buffer, block) catch |e| switch (e) {
|
||||||
error.InvalidHandle => return error.SocketUnconnected,
|
error.InvalidHandle => return error.SocketUnconnected,
|
||||||
};
|
};
|
||||||
|
if (n == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
copied += n;
|
copied += n;
|
||||||
|
|
||||||
if (n < buffer.len)
|
if (n < buffer.len)
|
||||||
|
|||||||
Reference in New Issue
Block a user