diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-12-20 04:13:26 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-12-20 04:13:26 +0000 |
commit | 534d30887d1fab63dadc0b392cda32d6f319e3b9 (patch) | |
tree | 0659845fb9f727b8322fc13672b4a33db5aa8983 /ChangeLog | |
parent | 3b7777959a81b8f16c991518e0daf770f882bf35 (diff) |
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,17 @@ +Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> + + * 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] + Tue Dec 20 12:53:23 2005 why the lucky stiff <why@ruby-lang.org> * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility |