小松です。

In the message of [ruby-dev:8707] Re: [mswin32] STDERR does not work during `_function. 
    on 1999/12/24 01:09:35 KANEKO Naoshi <wbs01621 / mail.wbs.ne.jp> wrote:
|というわけで、このスクリプトもなんとか動作するように
|修正してみました。

元からですが、Processハンドルがリークしています。
mypclose()で
    CloseHandle((HANDLE)MyPopenRecord[i].pid);
が必要です。
以下のスクリプトでハンドル数が変わらなければOK。

    gets # タスクマネージャ等でハンドル数を確認後リターンを押す
    f = open("|cat", "w")
    f.puts("hello")
    f.close
    gets # ハンドル数が上と同じならOK

あと、エラー時のCloseHandle()の処理とfree()の処理が不十分。
# これも元からかな?

とりあえず、報告です。

--
小松克行 / Katsuyuki Komatsu <komatsu / sarion.co.jp>