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:
parent
c28edc5012
commit
a08b97c2f6
3 changed files with 11 additions and 8 deletions
|
@ -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]
|
||||||
|
|
|
@ -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
5
io.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue