From 4badef8137395bec128fdd58ebe471a873bac84f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 29 Feb 2020 18:42:35 +0100 Subject: [PATCH] Kernel: Return bytes written if sys$write() fails after writing some If we wrote anything we should just inform userspace that we did, and not worry about the error code. Userspace can call us again if it wants, and we'll give them the error then. --- Kernel/Process.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 204b73fd4f..2adee8f203 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -1695,8 +1695,8 @@ ssize_t Process::do_write(FileDescription& description, const u8* data, int data dbg() << " -> write returned " << rc; #endif if (rc < 0) { - // FIXME: Support returning partial nwritten with errno. - ASSERT(nwritten == 0); + if (nwritten) + return nwritten; return rc; } if (rc == 0)