[#352] ruby 1.1a5 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

38 messages 1997/09/01
[#353] Re: ruby 1.1a5 released — keiju@... (石塚圭樹 ) 1997/09/01

[#354] Re: ruby 1.1a5 released — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#356] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#357] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/01

けいじゅ@日本ラショナルソフトウェアです.

[#359] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#363] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#374] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#376] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/02

けいじゅ@日本ラショナルソフトウェアです.

[#382] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#390] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/03

けいじゅ@日本ラショナルソフトウェアです.

[#391] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/03

まつもと ゆきひろです

[#441] How to report a bug — takagi@... (TAKAGI Hiromitsu)

Bus error が出ました。

15 messages 1997/09/09

[#461] [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...>

助田です

27 messages 1997/09/11
[#462] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#463] Re: [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...> 1997/09/11

助田です

[#464] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#467] Re: [Q] ruby-socket(mswin32) — WATANABE Hirofumi <watanabe@...> 1997/09/11

わたなべです.

[#594] BUG?(marshal) — Masaki Suketa <suke@...>

以下のプログラムを実行した時に(3)と(4)で出力結果が違います。

17 messages 1997/09/30

[ruby-dev:445] Re: pipe_list

From: matz@... (Yukihiro Matsumoto)
Date: 1997-09-10 02:38:00 UTC
List: ruby-dev #445
まつもと ゆきひろです

In message "[ruby-dev:444] pipe_list"
    on 97/09/10, WATANABE Hirofumi <watanabe@ase.ptg.sony.co.jp> writes:

|わたなべです.
|
|例の pipe_list ですが, djgpp で試したところ動いたんで,
|rbdj0909.zip に入れました(pipe_add_fptr を pipe_open で呼ぶ
|ようにした).

すみません.pipe_add_fptrが落ちていることに今朝やっと気が付
きました.

|ところで, これは stack 構造なので逆順になりますが, そういう
|仕様にしますか?

あんまり深く考えていませんでした.呼ばれれば良いのだろうし,
正順にするのもいろいろ面倒なので(問題が見つかるまでは)こうい
う仕様(というか仕様としては不定で,実装は逆順)で行こうと思い
ます.

|cygwin32 のほうは popen じゃなくて pipe を使ってるんで大丈夫
|だと思ったんですが, close しないとつまり wait してやらないと
|なぜか SEGV になってしまうようです. こちらも list を作らない
|とだめかなあ?

そうしましょう.__CYGWIN32__が定義されている時にも動くように
しました.

--- io.c~	Tue Sep  9 18:03:55 1997
+++ io.c	Wed Sep 10 11:40:02 1997
@@ -781,3 +781,3 @@
 
-#if defined (NT) || defined(DJGPP)
+#if defined (NT) || defined(DJGPP) || defined(__CYGWIN32__)
 static struct pipe_list {
@@ -823,2 +823,14 @@
 static void
+pipe_atexit()
+{
+    struct pipe_list *list = pipe_list;
+
+    while (list) {
+	io_fptr_finalize(list->fptr);
+	list = list->next;
+    }
+}
+
+#if !defined (__CYGWIN32__)
+static void
 pipe_finalize(fptr)
@@ -835,18 +847,3 @@
 }
-
-static void
-pipe_fptr_atexit()
-{
-    struct pipe_list *list = pipe_list;
-
-    while (list) {
-	if (list->fptr->f != NULL) {
-	    pclose(list->fptr->f);
-	}
-	if (list->fptr->f2 != NULL) {
-	    pclose(list->fptr->f2);
-	}
-	list = list->next;
-    }
-}
+#endif
 #endif
@@ -882,2 +879,3 @@
 
+	pipe_add_fptr(fptr);
 	if (modef & FMODE_READABLE) fptr->f  = f;
@@ -2262,4 +2260,4 @@
 
-#if defined (NT) || defined(DJGPP)
-    atexit(pipe_fptr_atexit);
+#if defined (NT) || defined(DJGPP) || defined(__CYGWIN32__)
+    atexit(pipe_atexit);
 #endif

In This Thread