ruby-changes:3226
From: ko1@a...
Date: 26 Dec 2007 17:34:09 +0900
Subject: [ruby-changes:3226] akr - Ruby:r14719 (trunk): * io.c (io_fflush): check closed fptr after rb_write_internal to avoid
akr 2007-12-26 17:33:38 +0900 (Wed, 26 Dec 2007) New Revision: 14719 Modified files: trunk/ChangeLog trunk/io.c Log: * io.c (io_fflush): check closed fptr after rb_write_internal to avoid SEGV on MacOS X. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14719&r2=14718 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/io.c?r1=14719&r2=14718 Index: ChangeLog =================================================================== --- ChangeLog (revision 14718) +++ ChangeLog (revision 14719) @@ -1,3 +1,8 @@ +Wed Dec 26 17:31:08 2007 Tanaka Akira <akr@f...> + + * io.c (io_fflush): check closed fptr after rb_write_internal to avoid + SEGV on MacOS X. + Wed Dec 26 16:10:17 2007 Nobuyoshi Nakada <nobu@r...> * string.c (Init_String): defines chars method. Index: io.c =================================================================== --- io.c (revision 14718) +++ io.c (revision 14719) @@ -534,7 +534,8 @@ l = PIPE_BUF; } r = rb_write_internal(fptr->fd, fptr->wbuf+fptr->wbuf_off, l); - /* xxx: signal handler may modify wbuf */ + /* xxx: other threads may modify wbuf */ + rb_io_check_closed(fptr); if (r == fptr->wbuf_len) { fptr->wbuf_off = 0; fptr->wbuf_len = 0; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml