ruby-changes:4779
From: ko1@a...
Date: Fri, 2 May 2008 23:59:46 +0900 (JST)
Subject: [ruby-changes:4779] nobu - Ruby:r16273 (trunk): * io.c (internal_read_func, internal_write_func): split from
nobu 2008-05-02 23:59:28 +0900 (Fri, 02 May 2008) New Revision: 16273 Modified files: trunk/ChangeLog trunk/io.c Log: * io.c (internal_read_func, internal_write_func): split from internal_io_func. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16273&r2=16272&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/io.c?r1=16273&r2=16272&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 16272) +++ ChangeLog (revision 16273) @@ -1,3 +1,8 @@ +Fri May 2 23:59:26 2008 Nobuyoshi Nakada <nobu@r...> + + * io.c (internal_read_func, internal_write_func): split from + internal_io_func. + Fri May 2 23:55:15 2008 Tanaka Akira <akr@f...> * variable.c (rb_define_hooked_variable): guard *var from GC to Index: io.c =================================================================== --- io.c (revision 16272) +++ io.c (revision 16273) @@ -512,21 +512,22 @@ int fd; void *buf; size_t capa; - int is_read; }; static VALUE -internal_io_func(void *ptr) +internal_read_func(void *ptr) { struct io_internal_struct *iis = (struct io_internal_struct*)ptr; - if (iis->is_read) { - return read(iis->fd, iis->buf, iis->capa); - } - else { - return write(iis->fd, iis->buf, iis->capa); - } + return read(iis->fd, iis->buf, iis->capa); } +static VALUE +internal_write_func(void *ptr) +{ + struct io_internal_struct *iis = (struct io_internal_struct*)ptr; + return write(iis->fd, iis->buf, iis->capa); +} + static int rb_read_internal(int fd, void *buf, size_t count) { @@ -534,9 +535,8 @@ iis.fd = fd; iis.buf = buf; iis.capa = count; - iis.is_read = 1; - return rb_thread_blocking_region(internal_io_func, &iis, RB_UBF_DFL, 0); + return rb_thread_blocking_region(internal_read_func, &iis, RB_UBF_DFL, 0); } static int @@ -546,9 +546,8 @@ iis.fd = fd; iis.buf = buf; iis.capa = count; - iis.is_read = 0; - return rb_thread_blocking_region(internal_io_func, &iis, RB_UBF_DFL, 0); + return rb_thread_blocking_region(internal_write_func, &iis, RB_UBF_DFL, 0); } static int -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/