From 790dc105cd3d099e96a4d4cdf059cbd1a38ca78b Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 18 Sep 2005 18:22:44 +0000 Subject: * file.c (rb_thread_flock): wrap the flock system call by TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122] * ext/socket/socket.c (bsock_send): wrap the sendto and send system call by TRAP_BEG/TRAP_END to enable signals when writing to a socket which is full. [ruby-dev:27132] * io.c (rb_io_syswrite): wrap the write system call by TRAP_BEG/TRAP_END to enable signals when writing to a pipe which is full. [ruby-dev:27134] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'io.c') diff --git a/io.c b/io.c index 78333d1d2..2c2fa80f1 100644 --- a/io.c +++ b/io.c @@ -2331,7 +2331,9 @@ rb_io_syswrite(io, str) if (!rb_thread_fd_writable(fileno(f))) { rb_io_check_closed(fptr); } + TRAP_BEG; n = write(fileno(f), RSTRING(str)->ptr, RSTRING(str)->len); + TRAP_END; if (n == -1) rb_sys_fail(fptr->path); -- cgit