[#21482] begin/rescue/else syntax is broken — akira yamada <akira@...>
[#21498] test/ChangeLog ? lib/ChangeLog — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21499] File#path on closed file. — Tanaka Akira <akr@...17n.org>
ふと、
そういえば、
まつもと ゆきひろです
[#21508] eval BEGIN/END at runtime — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
なひです。
新井です。
[#21511] return value of freeze — Tanaka Akira <akr@...17n.org>
ふと、freeze を使って思ったのですが、これの返値は何なんでしょうか?
[#21531] O_ACCMODE — Tanaka Akira <akr@...17n.org>
POSIX において fcntl.h に定義されている、O_ACCMODE が欲しくなったので
西山和広です。
In article <20031007220838.CC51.ZN@mbf.nifty.com>,
[#21543] Enumerator — "Akinori MUSHA" <knu@...>
1.8.0 のtきは標準ライブラリ入りについて異論はなかったものの
新井です。
[#21556] rewinding for Thread — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#21557] at_exist and safe level — Tanaka Akira <akr@...17n.org>
% ruby -ve '$SAFE = x = 1; at_exit { p $SAFE; p x }'
[#21572] core dump in rb_thread_schedule — Tanaka Akira <akr@...17n.org>
今日、cvs update したら、rb_thread_schedule で core を吐くようになったのですが、
まつもと ゆきひろです
なかだです。
In article <200310090901.h9991gfA004660@sharui.nakada.kanuma.tochigi.jp>,
In article <87ekxmojwc.fsf@serein.a02.aist.go.jp>,
[#21590] extend with marshal_dump/marshal_load — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21607] autoload の patch は取り込まれないんでしょうか? — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#21616] access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
まつもと ゆきひろです
[#21632] SEGV (test_drb.rb) — Masatoshi Seki <m_seki@...>
咳といいます。
[#21639] load() blocks thread scheduling — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
まつもと ゆきひろです
[#21641] SOAP::StreamError: Illegal media type. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです。
[#21679] Proposal: string literal concatenation — mput <root@...>
mput です。
[#21682] ruby-tk hangs when exception is raised — akira yamada <akira@...>
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
[#21707] drb Hash#each — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#21730] exit in $SAFE = 4 with -d — Tanaka Akira <akr@...17n.org>
% ruby -de 'lambda { $SAFE = 4; exit }.call; p 1'
[#21747] ruby 1.8.1 preview1 schedule — matz@... (Yukihiro Matsumoto)
関係者各位、
Siena. です。
なかだです。
Siena. です。
なかだです。
[#21778] IOError while building on Solaris with Sun cc — 桑村慎哉 <kuwa@...>
桑村です。
まつもと ゆきひろです
[#21790] ruby 1.8.1 preview1 — matz@... (Yukihiro Matsumoto)
It's out.
取り敢えず、NetBSD currentでの状況です。pkgsrc的なことは特にせず、ある
[#21794] ruby-1.8.1-preview2 での rb_iter_break — Kenta MURATA <muraken2@...>
むらけんです.
[ruby-dev:21584] Re: core dump in rb_thread_schedule
なかだです。
At Thu, 9 Oct 2003 20:57:01 +0900,
Tanaka Akira wrote:
> うぅむ。20:50 ごろに落ちました。
> 8589 if (!found && th->status <= THREAD_RUNNABLE) {
> (gdb) p found
> $1 = 0
> (gdb) p th
> $2 = 0x746867
> (gdb) p th->status
> Cannot access memory at address 0x746963
> (gdb) p *th
> Cannot access memory at address 0x746867
main_threadとcurr_threadからnextをたどって見せてもらえますか。
1.552, 1.554, 1.557をback outするパッチです。これで変化はあるで
しょうか。
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.557
diff -u -2 -p -r1.557 eval.c
--- eval.c 9 Oct 2003 10:11:48 -0000 1.557
+++ eval.c 9 Oct 2003 12:38:46 -0000
@@ -4163,8 +4163,4 @@ rb_yield_0(val, self, klass, flags, aval
if (state) goto pop_state;
}
- if (!node) {
- state = 0;
- goto pop_state;
- }
PUSH_ITER(block->iter);
@@ -4172,5 +4168,8 @@ rb_yield_0(val, self, klass, flags, aval
if ((state = EXEC_TAG()) == 0) {
redo:
- if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) {
+ if (!node) {
+ result = Qnil;
+ }
+ else if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) {
if (node->nd_state == YIELD_FUNC_AVALUE) {
if (!avalue) {
@@ -6456,5 +6455,4 @@ call_end_proc(data)
PUSH_FRAME();
ruby_frame->self = ruby_frame->prev->self;
- ruby_frame->node = 0;
ruby_frame->last_func = 0;
ruby_frame->last_class = 0;
@@ -7023,5 +7021,4 @@ proc_invoke(proc, args, self, klass)
PUSH_ITER(ITER_CUR);
ruby_frame->iter = ITER_CUR;
- ruby_current_node = data->body;
PUSH_TAG((pcall || orphan) ? PROT_PCALL : PROT_CALL);
state = EXEC_TAG();
@@ -8178,5 +8175,5 @@ rb_thread_check(data)
}
-static VALUE rb_thread_raise _((int, VALUE*, rb_thread_t));
+static VALUE rb_thread_raise _((int, VALUE*, volatile rb_thread_t));
static int th_raise_argc;
@@ -9380,11 +9377,12 @@ rb_thread_stop_timer()
static VALUE
-rb_thread_start_0(fn, arg, th)
+rb_thread_start_0(fn, arg, th_arg)
VALUE (*fn)();
void *arg;
- rb_thread_t th;
+ rb_thread_t th_arg;
{
- volatile rb_thread_t th_save = th;
- struct BLOCK *volatile saved_block = 0, *block;
+ volatile rb_thread_t th = th_arg;
+ volatile VALUE thread = th->thread;
+ volatile struct BLOCK* saved_block = 0;
enum thread_status status;
int state;
@@ -9409,5 +9407,5 @@ rb_thread_start_0(fn, arg, th)
if (THREAD_SAVE_CONTEXT(curr_thread)) {
- return th_save->thread;
+ return thread;
}
@@ -9437,9 +9435,4 @@ rb_thread_start_0(fn, arg, th)
th->result = (*fn)(arg, th);
}
- th = th_save;
- }
- else if (TAG_DST()) {
- th = th_save;
- th->result = prot_tag->retval;
}
POP_TAG();
@@ -9449,10 +9442,10 @@ rb_thread_start_0(fn, arg, th)
rb_thread_remove(th);
- for (block = saved_block; block;) {
- struct BLOCK *tmp = block;
+ while (saved_block) {
+ volatile struct BLOCK *tmp = saved_block;
if (tmp->frame.argc > 0)
free(tmp->frame.argv);
- block = tmp->prev;
+ saved_block = tmp->prev;
free((void*)tmp);
}
@@ -9747,8 +9740,6 @@ rb_thread_raise(argc, argv, th)
int argc;
VALUE *argv;
- rb_thread_t th;
+ volatile rb_thread_t th;
{
- volatile rb_thread_t th_save = th;
-
if (rb_thread_dead(th)) return Qnil;
if (curr_thread == th) {
@@ -9758,5 +9749,5 @@ rb_thread_raise(argc, argv, th)
if (!rb_thread_dead(curr_thread)) {
if (THREAD_SAVE_CONTEXT(curr_thread)) {
- return th_save->thread;
+ return th->thread;
}
}
@@ -9921,6 +9912,5 @@ rb_callcc(self)
{
volatile VALUE cont;
- rb_thread_t th;
- volatile rb_thread_t th_save;
+ volatile rb_thread_t th;
struct tag *tag;
struct RVarmap *vars;
@@ -9940,7 +9930,6 @@ rb_callcc(self)
}
- th_save = th;
if (THREAD_SAVE_CONTEXT(th)) {
- return th_save->result;
+ return th->result;
}
else {
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦