Github user changkun commented on a diff in the pull request:
https://github.com/apache/guacamole-server/pull/179#discussion_r209003713
--- Diff: src/guacd/connection.c ---
@@ -70,7 +70,7 @@ static int __write_all(int fd, char* buffer, int length) {
while (length > 0) {
int written = write(fd, buffer, length);
- if (written < 0)
+ if (written < 0 || errno > 0)
--- End diff --
As far as I known from a higher level language, [Go wraps `write`
call](https://github.com/golang/sys/blob/904bdc257025c7b3f43c19360ad3ab85783fad78/unix/zsyscall_linux_mips.go#L1413)
and return error if `errno` is not zero.
---