summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorksss <[email protected]>2017-05-21 16:58:57 +0900
committerksss <[email protected]>2017-05-21 17:10:15 +0900
commitc43795c6648546eecf92e22150b7e478e63e1a31 (patch)
tree65bc0160624a01c292c6a1856a6e4cab1323f38e /src
parent6836f424c5ff95d0114a426010b22254804bc9a3 (diff)
downloadmruby-c43795c6648546eecf92e22150b7e478e63e1a31.tar.gz
mruby-c43795c6648546eecf92e22150b7e478e63e1a31.zip
Should raise SyscallError on IO#syswrite
instead of IOError
Diffstat (limited to 'src')
-rw-r--r--src/io.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/io.c b/src/io.c
index 51a659f0e..452a61a3f 100644
--- a/src/io.c
+++ b/src/io.c
@@ -705,6 +705,9 @@ mrb_io_syswrite(mrb_state *mrb, mrb_value io)
fd = fptr->fd2;
}
length = write(fd, RSTRING_PTR(buf), RSTRING_LEN(buf));
+ if (length == -1) {
+ mrb_sys_fail(mrb, 0);
+ }
return mrb_fixnum_value(length);
}