ruby-changes:16117
From: mame <ko1@a...>
Date: Sat, 29 May 2010 23:32:34 +0900 (JST)
Subject: [ruby-changes:16117] Ruby:r28072 (trunk): * string.c (str_replace_shared): change embedded state atomically.
mame 2010-05-29 23:32:18 +0900 (Sat, 29 May 2010) New Revision: 28072 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28072 Log: * string.c (str_replace_shared): change embedded state atomically. [ruby-core:29953] [ruby-dev:41456] Modified files: trunk/ChangeLog trunk/string.c Index: ChangeLog =================================================================== --- ChangeLog (revision 28071) +++ ChangeLog (revision 28072) @@ -1,3 +1,8 @@ +Sat May 29 23:30:33 2010 Yusuke Endoh <mame@t...> + + * string.c (str_replace_shared): change embedded state atomically. + [ruby-core:29953] [ruby-dev:41456] + Sat May 29 12:56:09 2010 NARUSE, Yui <naruse@r...> * encoding.c (rb_filesystem_encindex): avoid infinite require Index: string.c =================================================================== --- string.c (revision 28071) +++ string.c (revision 28072) @@ -613,8 +613,8 @@ STR_SET_EMBED_LEN(str2, RSTRING_LEN(str)); } else { + str = rb_str_new_frozen(str); FL_SET(str2, STR_NOEMBED); - str = rb_str_new_frozen(str); RSTRING(str2)->as.heap.len = RSTRING_LEN(str); RSTRING(str2)->as.heap.ptr = RSTRING_PTR(str); RSTRING(str2)->as.heap.aux.shared = str; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/