[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]