ruby-cvs:16188
From: (ocean) <ocean ruby-lang.org>
Date: Tue, 20 Dec 2005 13:13:27 +0900
Subject: [ruby-cvs:16188] ruby, ruby/ext/syck: * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)
ocean Tue, 20 Dec 2005 13:13:27 +0900
Modified files: (Branch: ruby_1_8)
ruby:
ChangeLog st.c
ruby/ext/syck:
rubyext.c syck.h
Log:
* ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)
[ruby-dev:27839]
* ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
NULL or not before S_FREE.
* st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert
in gram.c to insert node from rb_syck_bad_anchor_handler into
SyckParser's hash table. if GC occurs in st_insert, it's not under
SyckParser's mark system yet. so RString can be released wrongly.
[ruby-dev:28057]
Revision Changes Path
1.2673.2.1444 +14 -0 ruby/ChangeLog
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?cvsroot=src&r1=1.2673.2.1443&r2=1.2673.2.1444
1.28.2.4 +12 -24 ruby/st.c
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/st.c?cvsroot=src&r1=1.28.2.3&r2=1.28.2.4
1.30.2.19 +78 -103 ruby/ext/syck/rubyext.c
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ext/syck/rubyext.c?cvsroot=src&r1=1.30.2.18&r2=1.30.2.19
1.21.2.9 +3 -3 ruby/ext/syck/syck.h
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ext/syck/syck.h?cvsroot=src&r1=1.21.2.8&r2=1.21.2.9