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

ruby-changes:12440

From: naruse <ko1@a...>
Date: Thu, 16 Jul 2009 12:45:36 +0900 (JST)
Subject: [ruby-changes:12440] Ruby:r24140 (trunk): Fix SEGV of readline on FreeBSD.

naruse	2009-07-16 12:45:12 +0900 (Thu, 16 Jul 2009)

  New Revision: 24140

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

  Log:
    Fix SEGV of readline on FreeBSD. [ruby-core:21884]

  Modified files:
    trunk/ChangeLog
    trunk/ext/readline/readline.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 24139)
+++ ChangeLog	(revision 24140)
@@ -1,3 +1,11 @@
+Thu Jul 16 12:42:10 2009  NARUSE, Yui  <naruse@r...>
+
+	* ext/readline/readline.c (readline_readline): rl_free_line_state
+	  before rl_cleanup_after_signal.
+
+	* ext/readline/readline.c (Init_readline): set rl_catch_signals and
+	  rl_catch_signwinch as 0. [ruby-core:21884]
+
 Thu Jul 16 08:59:22 2009  Koichi Sasada  <ko1@a...>
 
 	* node.h, vm_core.h, variable.c: rename global_entry to rb_global_entry.
Index: ext/readline/readline.c
===================================================================
--- ext/readline/readline.c	(revision 24139)
+++ ext/readline/readline.c	(revision 24140)
@@ -253,6 +253,7 @@
     if (status) {
 #if defined HAVE_RL_CLEANUP_AFTER_SIGNAL
         /* restore terminal mode and signal handler*/
+        rl_free_line_state();
         rl_cleanup_after_signal();
 #elif defined HAVE_RL_DEPREP_TERM_FUNCTION
         /* restore terminal mode */
@@ -1450,6 +1451,8 @@
 #elif defined HAVE_RL_EVENT_HOOK
     rl_event_hook = readline_event;
 #endif
+    rl_catch_signals = 0;
+    rl_catch_sigwinch = 0;
 #ifdef HAVE_RL_CLEAR_SIGNALS
     rl_clear_signals();
 #endif

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

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