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

ruby-changes:20405

From: nobu <ko1@a...>
Date: Fri, 8 Jul 2011 15:53:44 +0900 (JST)
Subject: [ruby-changes:20405] nobu:r32453 (trunk): * error.c (rb_bug): get rid of segfault after all threads

nobu	2011-07-08 15:53:33 +0900 (Fri, 08 Jul 2011)

  New Revision: 32453

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32453

  Log:
    * error.c (rb_bug): get rid of segfault after all threads
      disposed.

  Modified files:
    trunk/ChangeLog
    trunk/error.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 32452)
+++ ChangeLog	(revision 32453)
@@ -1,3 +1,8 @@
+Fri Jul  8 15:53:31 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* error.c (rb_bug): get rid of segfault after all threads
+	  disposed.
+
 Fri Jul  8 15:01:06 2011  NAKAMURA Usaku  <usa@r...>
 
 	* ext/openssl/ossl.h: include openssl/e_os2.h before checking the
Index: error.c
===================================================================
--- error.c	(revision 32452)
+++ error.c	(revision 32453)
@@ -265,9 +265,16 @@
 rb_bug(const char *fmt, ...)
 {
     va_list args;
+    const char *file = NULL;
+    int line = 0;
 
+    if (GET_THREAD()) {
+	file = rb_sourcefile();
+	line = rb_sourceline();
+    }
+
     va_start(args, fmt);
-    report_bug(rb_sourcefile(), rb_sourceline(), fmt, args);
+    report_bug(file, line, fmt, args);
     va_end(args);
 
 #if defined(_WIN32) && defined(RT_VER) && RT_VER >= 80

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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