mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and allow_ruby_exit=
* ext/tk/lib/multi-tk.rb: ditto. * ext/tk/lib/remote-tk.rb: ditto. * ext/tcltklib/MANUAL.euc: ditto. * ext/tcltklib/MANUAL.eng: ditto. * ext/tcltklib/tcltklib.c: fix some reasons of SEGV * ext/tk/tkutil.c: ditto. * ext/tk/lib/multi-tk.rb: ditto. * ext/tk/lib/tk/timer.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
32cabb82a4
commit
a821833bb3
8 changed files with 1023 additions and 186 deletions
|
|
@ -9,6 +9,7 @@
|
|||
************************************************/
|
||||
|
||||
#include "ruby.h"
|
||||
#include "rubysig.h"
|
||||
#include "st.h"
|
||||
|
||||
static VALUE cMethod;
|
||||
|
|
@ -1133,6 +1134,13 @@ cbsubst_scan_args(self, arg_key, val_ary)
|
|||
char *ptr;
|
||||
volatile VALUE dst = rb_ary_new2(len);
|
||||
volatile VALUE proc;
|
||||
int thr_crit_bup;
|
||||
VALUE old_gc;
|
||||
|
||||
thr_crit_bup = rb_thread_critical;
|
||||
rb_thread_critical = Qtrue;
|
||||
|
||||
old_gc = rb_gc_disable();
|
||||
|
||||
Data_Get_Struct(rb_const_get(self, ID_SUBST_INFO),
|
||||
struct cbsubst_info, inf);
|
||||
|
|
@ -1161,6 +1169,9 @@ cbsubst_scan_args(self, arg_key, val_ary)
|
|||
}
|
||||
}
|
||||
|
||||
if (old_gc == Qfalse) rb_gc_enable();
|
||||
rb_thread_critical = thr_crit_bup;
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue