[#25010] test_flush fails. — "URABE Shyouhei aka.mput" <root@...>
mput です。以下のように test_flush が失敗します。
[#25031] Method#to_proc とブロックの引渡し — Masahiro Sakai (酒井政裕) <sakai@...>
酒井といいます。
[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>
こんにちは。
なかだです。
In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>
なかだです。
In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>
2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:
こんにちは、なかむら(う)です。
In message <1102395885.21598.19.camel@rice.p.arika.org>
なかだです。
In message <200412071613.iB7GD2r4007918@sharui.nakada.niregi.kanuma.tochigi.jp>
[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>
同じ文字列をほぼ同時に IO に書き込むと、temporal locking already
まつもと ゆきひろです
In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,
In article <1102176395.383559.21204.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
Tietew です。
[#25054] rexml — Takahiro Kambe <taca@...>
こんばんは。
なかだです。
In message <200412051451.iB5EpYiF009060@sharui.nakada.niregi.kanuma.tochigi.jp>
まつもと ゆきひろです
In message <1102290330.040938.1210.nullmailer@x31.priv.netlab.jp>
[#25096] double free problem — "Akinori MUSHA" <knu@...>
ご無沙汰しております。
Hi,
In article <1102401703.030252.2480.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
Yukihiro Matsumoto wrote:
Yukihiro Matsumoto wrote:
In article <41BEF768.7030008@ttsky.net>,
Tanaka Akira wrote:
[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>
えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお
こんにちは、なかむら(う)です。
In article <20041208.033521.635728872.gotoyuzo@sawara.does.notwork.org>,
[#25103] ruby_xrealloc dumps core — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#25134] Set/test_eq failed on Tru64UNIX — Minero Aoki <aamine@...>
青木です。
なかだです。
まつもと ゆきひろです
[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>
次のように、1.8 で双方向 popen な IO を reopen するとエラーになること
なかだです。
In article <200412110142.iBB1gDIh004622@sharui.nakada.niregi.kanuma.tochigi.jp>,
なかだです。
わたなべです。
In article <41-Tue21Dec2004123451+0900-eban@os.rim.or.jp>,
[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>
NetBSD 2.0 で次のようにすると core を吐きます。
In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,
In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,
なかだです。
In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1102906796.625997.23964.nullmailer@x31.priv.netlab.jp>,
前田です。
In article <41BD40DC.6030706@ruby-lang.org>,
まつもと ゆきひろです
[#25160] ripper in snapshot.tar.gz — Tanaka Akira <akr@...17n.org>
ふと、とある autoconf も bison も入っていない環境で Ruby をコンパイル
[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#25226] Zlib::Deflate.deflate dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
[#25236] BSD/OS rlim_t — OHARA Shigeki <os@...>
大原です。
[#25252] core dump if local_append_gen invokes GC — Tanaka Akira <akr@...17n.org>
先程 1.9 を make test-all したところ、
[#25270] BSD/OS LDSHARED — OHARA Shigeki <os@...>
大原です。
[#25283] 1.8.2 preview4 — Yukihiro Matsumoto <matz@...>
Hello,
[#25292] tkutil is installed on no tcl/tk environment — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、Tcl/Tk が入っていない環境でも、tkutil は
[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
高橋征義です。
山本です。
小西 弘将です。
山本です。
山本です。
山本です。
永井@知能.九工大です.
[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>
In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,
In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,
まつもと ゆきひろです
わたなべです。
In message <20041225140050.378109.eban@os.rim.or.jp>,
なかだです。
In article <200412251620.iBPGK1xA009288@sharui.nakada.niregi.kanuma.tochigi.jp>,
なかだです。
In article <200412260300.iBQ3038u005055@sharui.nakada.niregi.kanuma.tochigi.jp>,
[#25336] webrick/httpauth.rb must require 'base64' — sheepman <sheepman@...>
こんにちは、sheepman です。
[#25341] String#center dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
なかだです。
[#25342] 1.9.0でbcc版がコンパイルできない — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
山本です。
[#25365] method(:p).to_proc.call([]) — Masahiro Sakai (酒井政裕) <sakai@...>
酒井です。
[#25370] FileUtils.copy_stream on nonblocking IO — Tanaka Akira <akr@...17n.org>
FileUtils.copy_stream を nonblocking な IO に対して使うと、次のように
[ruby-dev:25353] tcltklib patch (Re: リリース準備)
永井@知能.九工大です.
> 処理がよくわかっていないので場当たり的ですが、下のように順番を変えても
> 落ちなくなりました。想像ですが、ファイナライザを呼んだ後
> foreach i [after info] {after cancel $i} を呼ぶと落ちるんじゃないでしょうか。
> それだと bcc32 だけ落ちる理由にならないような気もしますが・・・
コマンドライン埋め込みの展開を行おうとすると落ちるようです.
以下のパッチではいかがでしょうか?
Index: ext/tcltklib/tcltklib.c
===================================================================
RCS file: /var/cvs/src/ruby/ext/tcltklib/tcltklib.c,v
retrieving revision 1.49.2.23
diff -u -r1.49.2.23 tcltklib.c
--- ext/tcltklib/tcltklib.c 23 Dec 2004 04:16:42 -0000 1.49.2.23
+++ ext/tcltklib/tcltklib.c 27 Dec 2004 08:29:47 -0000
@@ -4,7 +4,7 @@
* Oct. 24, 1997 Y. Matsumoto
*/
-#define TCLTKLIB_RELEASE_DATE "2004-12-23"
+#define TCLTKLIB_RELEASE_DATE "2004-12-27"
#include "ruby.h"
#include "rubysig.h"
@@ -70,9 +70,13 @@
/* release date */
const char tcltklib_release_date[] = TCLTKLIB_RELEASE_DATE;
-/*finalize_proc_name */
+/* finalize_proc_name */
static char *finalize_hook_name = "INTERP_FINALIZE_HOOK";
+/* to cancel remained after-scripts when deleting IP */
+#define REMAINED_AFTER_IDS_VAR "__ruby_tcltklib_remained_after_script_list__"
+#define CANCEL_REMAINED_AFTER_IDS "foreach id $__ruby_tcltklib_remained_after_script_list__ {after cancel $id}"
+
/* for callback break & continue */
static VALUE eTkCallbackReturn;
static VALUE eTkCallbackBreak;
@@ -3312,12 +3316,16 @@
Tcl_Preserve(slave);
-#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4)
-#else
if (!Tcl_InterpDeleted(slave)) {
- Tcl_Eval(slave, "foreach i [after info] { after cancel $i }");
+ if (Tcl_Eval(slave, "after info") == TCL_OK
+ && Tcl_SetVar(slave,
+ REMAINED_AFTER_IDS_VAR,
+ Tcl_GetStringResult(slave),
+ TCL_GLOBAL_ONLY) != (char *)NULL) {
+ DUMP1("cancel after scripts");
+ Tcl_Eval(slave, CANCEL_REMAINED_AFTER_IDS);
+ }
}
-#endif
/* delete slaves of slave */
delete_slaves(slave);
@@ -3360,18 +3368,20 @@
Tcl_ResetResult(ptr->ip);
+ if (Tcl_Eval(ptr->ip, "after info") == TCL_OK
+ && Tcl_SetVar(ptr->ip,
+ REMAINED_AFTER_IDS_VAR,
+ Tcl_GetStringResult(ptr->ip),
+ TCL_GLOBAL_ONLY) != (char *)NULL) {
+ DUMP1("cancel after scripts");
+ Tcl_Eval(ptr->ip, CANCEL_REMAINED_AFTER_IDS);
+ }
+
if (Tcl_GetCommandInfo(ptr->ip, finalize_hook_name, &info)) {
DUMP2("call finalize hook proc '%s'", finalize_hook_name);
Tcl_Eval(ptr->ip, finalize_hook_name);
}
-#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4)
-#else
- if (!Tcl_InterpDeleted(ptr->ip)) {
- Tcl_Eval(ptr->ip, "foreach i [after info] {after cancel $i}");
- }
-#endif
-
del_root(ptr->ip);
DUMP1("delete interp");
@@ -3838,12 +3848,14 @@
/* Tcl_Preserve(ptr->ip); */
rbtk_preserve_ip(ptr);
-#if TCL_MAJOR_VERSION < 8 || ( TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4)
-#else
- if (!Tcl_InterpDeleted(ptr->ip)) {
- Tcl_Eval(ptr->ip, "foreach i [after info] { after cancel $i }");
+ if (Tcl_Eval(ptr->ip, "after info") == TCL_OK
+ && Tcl_SetVar(ptr->ip,
+ REMAINED_AFTER_IDS_VAR,
+ Tcl_GetStringResult(ptr->ip),
+ TCL_GLOBAL_ONLY) != (char *)NULL) {
+ DUMP1("cancel after scripts");
+ Tcl_Eval(ptr->ip, CANCEL_REMAINED_AFTER_IDS);
}
-#endif
del_root(ptr->ip);
@@ -4188,6 +4200,7 @@
rb_thread_stop();
}
DUMP2("back from handler (current thread:%lx)", current);
+ DUMP1("ip_eval back:111");
/* get result & free allocated memory */
ret = RARRAY(result)->ptr[0];
Index: ext/tk/lib/multi-tk.rb
===================================================================
RCS file: /var/cvs/src/ruby/ext/tk/lib/multi-tk.rb,v
retrieving revision 1.17.2.18
diff -u -r1.17.2.18 multi-tk.rb
--- ext/tk/lib/multi-tk.rb 20 Dec 2004 05:10:33 -0000 1.17.2.18
+++ ext/tk/lib/multi-tk.rb 27 Dec 2004 08:29:48 -0000
@@ -189,7 +189,9 @@
unless ip.deleted?
ip._split_tklist(ip._invoke('interp', 'slaves')).each{|name|
begin
- ip._eval_without_enc("#{name} eval {foreach i [after info] {after cancel $i}}")
+ # ip._eval_without_enc("#{name} eval {foreach i [after info] {after cancel $i}}")
+ after_ids = ip._eval_without_enc("#{name} eval {after info}")
+ ip._eval_without_enc("#{name} eval {foreach i {#{after_ids}} {after cancel $i}}")
rescue Exception
end
begin
@@ -236,7 +238,9 @@
@slave_ip_tbl.each{|name, subip|
_destroy_slaves_of_slaveIP(subip)
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -270,7 +274,9 @@
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
begin
@@ -310,7 +316,9 @@
@slave_ip_tbl.each{|name, subip|
_destroy_slaves_of_slaveIP(subip)
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -344,7 +352,9 @@
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -1315,7 +1325,7 @@
@cmd_queue.enq([nil, cmd, *args])
rescue Exception => e
# ignore
- if $DEBUG || true
+ if $DEBUG
warn("Warning: " + e.class.inspect +
((e.message.length > 0)? ' "' + e.message + '"': '') +
" on " + self.inspect)
@@ -1821,7 +1831,9 @@
end
=end
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
@@ -1850,7 +1862,9 @@
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp