[#23031] description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa)

マニュアルみてて思ったんですけど,fork の記述に「失敗したら例外があが

21 messages 2000/06/02
[#23114] Re: description on fork and Process.fork — Takahiro Kambe <taca@...> 2000/06/08

In message <200006021503.AAA19483@mail3.os.xaxon.ne.jp>

[#23136] Re: description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa) 2000/06/09

In message <200006081406.e58E6JA16512@edge.sky.yamashina.kyoto.jp>

[#23138] Re: description on fork and Process.fork — Takahiro Kambe <taca@...> 2000/06/09

In message <200006091328.WAA23409@mail2.os.xaxon.ne.jp>

[#23139] Re: description on fork and Process.fork — matz@... (Yukihiro Matsumoto) 2000/06/09

まつもと ゆきひろです

[#23148] Re: description on fork and Process.fork — ARIMA Yasuhiro <fit0298@...> 2000/06/11

有馬です。

[#23150] Re: description on fork and Process.fork — Koji Arai <JCA02266@...> 2000/06/11

新井です。

[#23096] http.rb will change — Minero Aoki <aamine@...>

あおきです。

42 messages 2000/06/08
[#23100] Re: http.rb will change — matz@... (Yukihiro Matsumoto) 2000/06/08

まつもと ゆきひろです

[#23101] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/08

高橋征義です。

[#23103] Re: http.rb will change — matz@... (Yukihiro Matsumoto) 2000/06/08

まつもと ゆきひろです

[#23109] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/08

青山です。

[#23113] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/08

高橋です。

[#23124] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/08

青山です。

[#23130] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/09

高橋征義です。

[#23131] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/09

青山です。

[#23135] Re: http.rb will change — Minero Aoki <aamine@...> 2000/06/09

あおきです。

[#23149] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/11

高橋征義です。

[#23174] Re: http.rb will change — Minero Aoki <aamine@...> 2000/06/12

あおきです。

[#23125] メソッドの中の動きを変える — Masahiro Kawata <kawata@...>

こんにちわ。かわた まさひろと申します。

11 messages 2000/06/09

[#23156] ports — Wakou Aoyama <wakou@...>

青山です。

37 messages 2000/06/11
[#23194] Re: ports — kenn@... 2000/06/12

長沢です。

[#23199] Re: ports — Wakou Aoyama <wakou@...> 2000/06/12

青山です。

[#23268] Re: ports — Noritsugu Nakamura <nnakamur@...> 2000/06/15

[#23273] Re: ports — Wakou Aoyama <wakou@...> 2000/06/15

青山です。

[#23278] Re: ports — Noritsugu Nakamura <nnakamur@...> 2000/06/15

[#23279] Re: ports — Wakou Aoyama <wakou@...> 2000/06/15

青山です。

[#23280] Re: ports — matz@... (Yukihiro Matsumoto) 2000/06/15

まつもと ゆきひろです

[#23282] Re: ports — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23289] RD on www.ruby-lang.org (Re: ports) — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23291] Re: RD on www.ruby-lang.org (Re: ports) — matz@... (Yukihiro Matsumoto) 2000/06/16

まつもと ゆきひろです

[#23293] Re: RD on www.ruby-lang.org (Re: ports) — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23222] readablity of RD — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

78 messages 2000/06/13
[#23224] Re: readablity of RD — rubikitch <rubikitch@...> 2000/06/13

From: TAKAHASHI Masayoshi <maki@inac.co.jp>

[#23234] Re: readablity of RD — TAKAHASHI Masayoshi <maki@...> 2000/06/14

高橋征義です。

[#23246] Re: readablity of RD — Kenya Ogata <k_ogata@...> 2000/06/14

おがたといいます。

[#23255] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/14

Toshです。

[#23271] Re: readablity of RD — Kenya Ogata <k_ogata@...> 2000/06/15

おがたです。いくつか考えうる解決案を。

[#23275] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/15

Toshです。

[#23295] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23296] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23307] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/17

Toshです。

[#23310] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/17

青山です。

[#23320] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/17

Toshです。

[#23328] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/17

青山です。

[#23335] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/18

Toshです。

[#23349] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/18

青山です。

[#23470] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/22

Toshです。

[#23471] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/22

まつもと ゆきひろです

[#23563] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/27

青山です。

[#23570] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/28

まつもと ゆきひろです

[#23600] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/29

Toshです。

[#23603] Re: readablity of RD — Yasunari Momoi <momo@...> 2000/06/29

From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>

[#23605] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/29

まつもと ゆきひろです

[#23611] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/29

Toshです。

[#23235] nkf MIME space handling — "Kikutani, Makoto" <kikutani@...>

nkfモジュールは、MIMEのデコードもしてくれますが、

13 messages 2000/06/14

[#23410] Re: DBMS and ruby CGI — "Kahori Takeuchi" <EB89012@...>

14 messages 2000/06/21

[#23411] dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp>

石橋"rubyholic"秀仁です。

34 messages 2000/06/21
[#23412] Re: dump a single object — matz@... (Yukihiro Matsumoto) 2000/06/21

まつもと ゆきひろです

[#23424] Re: dump a single object — Masatoshi SEKI <m_seki@...> 2000/06/21

[#23434] Re: dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/06/21

石橋"rubyholic"秀仁です。咳さん、こんばんわ。

[#23437] Re: dump a single object — Masatoshi SEKI <m_seki@...> 2000/06/21

[#23485] Ruby 1.4.5 — matz@... (Yukihiro Matsumoto)

Ruby 1.4.5 is out, check out:

35 messages 2000/06/23
[#23489] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/23

小松です。

[#23495] Re: Ruby 1.4.5 — matz@... (Yukihiro Matsumoto) 2000/06/23

まつもと ゆきひろです

[#23518] Re: Ruby 1.4.5 — MICHIMURA Tadao <MICHIMURA.Tadao@...> 2000/06/26

どぉも、道村です。

[#23521] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/26

小松です。

[#23522] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/26

小松です。

[ruby-list:23159] Re: description on fork and Process.fork

From: Koji Arai <JCA02266@...>
Date: 2000-06-11 18:58:08 UTC
List: ruby-list #23159
新井です。

>>> From: Koji Arai <JCA02266@nifty.ne.jp>
>>> Date: 12 Jun 2000 03:00:07 +0900
>>> Subject: [ruby-list:23158] Re: description on fork and Process.fork

> 新井です。
> 
> >>> From: matz@netlab.co.jp (Yukihiro Matsumoto)
> >>> Date: 12 Jun 2000 00:58:53 +0900
> >>> Subject: [ruby-list:23151] Re: description on fork and Process.fork

> ruby は、Cと違って引数の省略が可能なのでやっぱり、
>   Process.setpgrp([pid, pgid])
>   Process.getpgrp([pid])
> の方がわかりやすいかもしれないですね。

ついでに書いてみました(動作確認はしてません)
# 昼間寝すぎて眠れないらしい


Index: process.c
===================================================================
RCS file: /home/cvs/ruby/process.c,v
retrieving revision 1.14
diff -u -p -u -r1.14 process.c
--- process.c	2000/05/24 04:34:05	1.14
+++ process.c	2000/06/11 18:55:58
@@ -49,6 +49,38 @@ struct timeval rb_time_interval _((VALUE
 #undef HAVE_GETPGRP
 #endif
 
+#ifdef HAVE_GETPGID
+#define rb_getpgid(pid) getpgid(pid)
+#else
+#if defined(HAVE_GETPGRP) && !defined(GETPGRP_VOID)
+#define rb_getpgid(pid) getpgrp(pid)
+#endif
+#endif
+
+#ifdef HAVE_SETPGID
+#define rb_setpgid(pid, pgid) setpgid(pid, pgid)
+#else
+#if defined(HAVE_SETPGRP) && !defined(SETPGRP_VOID)
+#define rb_setpgid(pid, pgid) setpgrp(pid, pgid)
+#endif
+#endif
+
+#ifdef HAVE_GETPGRP
+#ifdef GETPGRP_VOID
+#define rb_getpgrp()    getpgrp()
+#else
+#define rb_getpgrp()    getpgrp(0)
+#endif
+#endif
+
+#ifdef HAVE_SETPGRP
+#ifdef SETPGRP_VOID
+#define rb_setpgrp()    setpgrp()
+#else
+#define rb_setpgrp()    setpgrp(0, getpid())
+#endif
+#endif
+
 static VALUE
 get_pid()
 {
@@ -746,24 +778,22 @@ proc_getpgrp(argc, argv)
     int argc;
     VALUE *argv;
 {
-#ifdef HAVE_GETPGRP
     int pgrp;
-#ifndef GETPGRP_VOID
+#if defined(rb_getpgid)
     VALUE vpid;
     int pid;
 
     rb_scan_args(argc, argv, "01", &vpid);
     pid = NIL_P(vpid)?0:NUM2INT(vpid);
-    pgrp = getpgrp(pid);
-#else
+    pgrp = rb_getpgid(pid);
+#elif defined(rb_getpgrp)
     rb_scan_args(argc, argv, "0");
-    pgrp = getpgrp();
-#endif
-    if (pgrp < 0) rb_sys_fail(0);
-    return INT2FIX(pgrp);
+    pgrp = rb_getpgrp();
 #else
     rb_notimplement();
 #endif
+    if (pgrp < 0) rb_sys_fail(0);
+    return INT2FIX(pgrp);
 }
 
 static VALUE
@@ -771,8 +801,7 @@ proc_setpgrp(argc, argv)
     int argc;
     VALUE *argv;
 {
-#ifdef HAVE_SETPGRP
-#ifndef SETPGRP_VOID
+#if defined(rb_setpgid)
     VALUE pid, pgrp;
     int ipid, ipgrp;
 
@@ -780,47 +809,14 @@ proc_setpgrp(argc, argv)
 
     ipid = NIL_P(pid)?0:NUM2INT(pid);
     ipgrp = NIL_P(pgrp)?0:NUM2INT(pgrp);
-    if (setpgrp(ipid, ipgrp) < 0) rb_sys_fail(0);
-#else
+    if (rb_setpgid(ipid, ipgrp) < 0) rb_sys_fail(0);
+#elif defined(rb_setpgrp)
     rb_scan_args(argc, argv, "0");
-    if (setpgrp() < 0) rb_sys_fail(0);
-#endif
-    return INT2FIX(0);
-#else
-    rb_notimplement();
-#endif
-}
-
-static VALUE
-proc_getpgid(obj, pid)
-    VALUE obj, pid;
-{
-#ifdef HAVE_GETPGID
-    int i;
-
-    i = getpgid(NUM2INT(pid));
-    return INT2NUM(i);
+    if (rb_setpgrp() < 0) rb_sys_fail(0);
 #else
     rb_notimplement();
 #endif
-}
-
-static VALUE
-proc_setpgid(obj, pid, pgrp)
-    VALUE obj, pid, pgrp;
-{
-#ifdef HAVE_SETPGID
-    int ipid, ipgrp;
-
-    rb_secure(2);
-    ipid = NUM2INT(pid);
-    ipgrp = NUM2INT(pgrp);
-
-    if (setpgid(ipid, ipgrp) < 0) rb_sys_fail(0);
     return INT2FIX(0);
-#else
-    rb_notimplement();
-#endif
 }
 
 static VALUE
@@ -1040,8 +1036,8 @@ Init_process()
 
     rb_define_module_function(rb_mProcess, "getpgrp", proc_getpgrp, -1);
     rb_define_module_function(rb_mProcess, "setpgrp", proc_setpgrp, -1);
-    rb_define_module_function(rb_mProcess, "getpgid", proc_getpgid, 1);
-    rb_define_module_function(rb_mProcess, "setpgid", proc_setpgid, 2);
+    rb_define_alias(rb_mProcess, "getpgid", "getpgrp");
+    rb_define_alias(rb_mProcess, "setpgid", "setpgrp");
 
     rb_define_module_function(rb_mProcess, "setsid", proc_setsid, 0);
 
--
新井康司 (Koji Arai)

In This Thread