[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>

青木です。

25 messages 2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft) — maili31s@... (SugHimsi==SUGIHARA Hiroshi) 2003/10/07

すぎむし。

[#38480] Re: ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...> 2003/10/08

青木です。

[#38481] marshal_dump (was Re: ) — m_seki@... 2003/10/08

[#38484] Re: marshal_dump (was Re: ) — matz@... (Yukihiro Matsumoto) 2003/10/09

まつもと ゆきひろです

[#38486] Re: marshal_dump (was Re: ) — Masatoshi Seki <m_seki@...> 2003/10/09

咳といいます

[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>

<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>

29 messages 2003/10/09
[#38490] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/09

新井です。

[#38503] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/10

In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>

[#38505] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/10

新井です。

[#38507] Re: exit status on exit! — matz@... (Yukihiro Matsumoto) 2003/10/11

まつもと ゆきひろです

[#38514] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/11

In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>

[#38515] Re: exit status on exit! — WATANABE Hirofumi <eban@...> 2003/10/11

わたなべです。

[ruby-list:38569] Re: exit status on exit!

From: nobu.nakada@...
Date: 2003-10-15 02:30:58 UTC
List: ruby-list #38569
なかだです。

At Wed, 15 Oct 2003 11:07:12 +0900,
Yukihiro Matsumoto wrote:
> ||ANSI-Cかどうかわかんないけど、VMSは確かEXIT_SUCCESSは1で、
> ||EXIT_FAILUREは0です。という意味でもEXIT_FAILUREにすべきか。
> |
> |ということでexitやexit!のデフォルトはEXIT_SUCCESSになったのに、
> |スクリプトの最後で終了するときの値が0のままになってるということ
> |です。
> 
> 十分に理解している自信が無いのですが、こういうこと?
> 
> --- eval.c	14 Oct 2003 10:09:39 -0000	1.564
> +++ eval.c	15 Oct 2003 02:05:31 -0000
> @@ -1334,3 +1334,3 @@ ruby_finalize()

ruby_finalize()はruby_finalize_0()の戻り値を捨てているので、何
を渡しても関係ないと思います。

ほとんどの環境(EXIT_SUCCESS == 0)では現状とほぼ変わりないはずで
すが、そうでない環境ではexit(ruby_nerrs)もまずいような気がして
来ました。

しかし、ruby_run()が2回呼ばれることはないはずなので、exがstatic
である必要もないような。

> でも、それだとhttp://sheepman.parfait.ne.jp/20031014.html#p02
> が説明できないような。

exit(1)としても常にEXIT_SUCCESSだったので誤動作した、ということ
かと思ったのですが。違うのかな。eval.cを1.564にしたら誤動作した
のか誤動作しなくなったのか、どっちでしょう。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.564
diff -u -2 -p -r1.564 eval.c
--- eval.c	14 Oct 2003 10:09:39 -0000	1.564
+++ eval.c	15 Oct 2003 02:26:32 -0000
@@ -1389,9 +1389,9 @@ ruby_run()
 {
     int state;
-    static int ex;
+    int ex = EXIT_SUCCESS;
 
-    if (ruby_nerrs > 0) exit(ruby_nerrs);
+    if (ruby_nerrs > 0) exit(EXIT_FAILURE);
     state = ruby_exec();
-    if (state && !ex) ex = state;
+    if (state) ex = EXIT_FAILURE;
     ruby_stop(ex);
 }


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread