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/