1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* include/ruby/io.h (rb_io_t): refcnt field removed.

(MakeOpenFile): refcnt initialization removed.

* io.c (rb_io_fptr_finalize): don't check refcnt.
  (rb_io_close_read): don't use refcnt.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-08-27 17:19:19 +00:00
parent c28edc5012
commit a08b97c2f6
3 changed files with 11 additions and 8 deletions

View file

@ -1,3 +1,11 @@
Thu Aug 28 02:16:49 2008 Tanaka Akira <akr@fsij.org>
* include/ruby/io.h (rb_io_t): refcnt field removed.
(MakeOpenFile): refcnt initialization removed.
* io.c (rb_io_fptr_finalize): don't check refcnt.
(rb_io_close_read): don't use refcnt.
Thu Aug 28 00:07:59 2008 Tanaka Akira <akr@fsij.org> Thu Aug 28 00:07:59 2008 Tanaka Akira <akr@fsij.org>
* io.c (rb_io_initialize): don't accept IO object. [ruby-dev:35895] * io.c (rb_io_initialize): don't accept IO object. [ruby-dev:35895]

View file

@ -35,7 +35,6 @@ typedef struct rb_io_t {
int lineno; /* number of lines read */ int lineno; /* number of lines read */
VALUE pathv; /* pathname for file */ VALUE pathv; /* pathname for file */
void (*finalize)(struct rb_io_t*,int); /* finalize proc */ void (*finalize)(struct rb_io_t*,int); /* finalize proc */
long refcnt;
char *wbuf; /* wbuf_off + wbuf_len <= wbuf_capa */ char *wbuf; /* wbuf_off + wbuf_len <= wbuf_capa */
int wbuf_off; int wbuf_off;
@ -109,7 +108,6 @@ typedef struct rb_io_t {
fp->lineno = 0;\ fp->lineno = 0;\
fp->pathv = Qnil;\ fp->pathv = Qnil;\
fp->finalize = 0;\ fp->finalize = 0;\
fp->refcnt = 1;\
fp->wbuf = NULL;\ fp->wbuf = NULL;\
fp->wbuf_off = 0;\ fp->wbuf_off = 0;\
fp->wbuf_len = 0;\ fp->wbuf_len = 0;\

5
io.c
View file

@ -3105,7 +3105,6 @@ int
rb_io_fptr_finalize(rb_io_t *fptr) rb_io_fptr_finalize(rb_io_t *fptr)
{ {
if (!fptr) return 0; if (!fptr) return 0;
if (fptr->refcnt <= 0 || --fptr->refcnt) return 0;
fptr->pathv = Qnil; fptr->pathv = Qnil;
if (0 <= fptr->fd) if (0 <= fptr->fd)
rb_io_fptr_cleanup(fptr, Qtrue); rb_io_fptr_cleanup(fptr, Qtrue);
@ -3275,11 +3274,9 @@ rb_io_close_read(VALUE io)
rb_io_t *wfptr; rb_io_t *wfptr;
fptr_finalize(fptr, Qfalse); fptr_finalize(fptr, Qfalse);
GetOpenFile(write_io, wfptr); GetOpenFile(write_io, wfptr);
if (fptr->refcnt < LONG_MAX) {
wfptr->refcnt++;
RFILE(io)->fptr = wfptr; RFILE(io)->fptr = wfptr;
RFILE(write_io)->fptr = NULL;
rb_io_fptr_finalize(fptr); rb_io_fptr_finalize(fptr);
}
return Qnil; return Qnil;
} }