If __sys_write() returns 0, allow that to exit the loop in libc_r's
wrapped version of write(). Submitted by: dan@langille.org
This commit is contained in:
parent
be0dabc1bc
commit
fcd58c1978
@ -95,7 +95,7 @@ _write(int fd, const void *buf, size_t nbytes)
|
||||
* write:
|
||||
*/
|
||||
if (blocking && ((n < 0 && (errno == EWOULDBLOCK ||
|
||||
errno == EAGAIN)) || (n >= 0 && num < nbytes))) {
|
||||
errno == EAGAIN)) || (n > 0 && num < nbytes))) {
|
||||
curthread->data.fd.fd = fd;
|
||||
_thread_kern_set_timeout(NULL);
|
||||
|
||||
@ -133,7 +133,7 @@ _write(int fd, const void *buf, size_t nbytes)
|
||||
* If there was an error, return partial success
|
||||
* (if any bytes were written) or else the error:
|
||||
*/
|
||||
} else if (n < 0) {
|
||||
} else if (n <= 0) {
|
||||
if (num > 0)
|
||||
ret = num;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user