[#11952] NORETURN — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

24 messages 2001/01/10
[#11956] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11957] Re: NORETURN — matz@... (Yukihiro Matsumoto) 2001/01/10

まつもと ゆきひろです

[#11958] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11959] CVS branches (Re: Re: NORETURN) — matz@... (Yukihiro Matsumoto) 2001/01/10

[#12087] string#index, gsub, []= のバグ? — Beyond <beyond@...>

18 messages 2001/01/27
[#12091] Re: string#index, gsub, []= のバグ? — matz@... (Yukihiro Matsumoto) 2001/01/27

まつもと ゆきひろです

[ruby-dev:12117] Re: [patch] mswin32 system()

From: "U.Nakamura" <usa@...>
Date: 2001-01-28 19:28:22 UTC
List: ruby-dev #12117
こんにちは、なかむら(う)です。

At Sun, 28 Jan 2001 02:56:31 +0900, nobu.nakada@nifty.ne.jp wrote in
    '[ruby-dev:12097] Re: [patch] mswin32 system()'
> > +	WaitForSingleObject(pi.hProcess, -1);
> 
>   ひょっとして全スレッド止まりませんか。たぶん今も同じだと思う
> んですが、気づいてませんでした。

うぅ、止まりますね。
で、VC++のランタイムのソースを追っかけた限りでは、spawnvpe()
がやってることは基本的には同じなので、現状も同じはずです。


> > +    CloseHandle(pi.hThread);
> 
>   これって必須ですか。waitpid() だと CloseHandle(pi.hProcess)
> 相当のことしかしてないので問題になったりするでしょうか。

手元にある資料(C++Builder5付属のAPI Reference)によれば、

| The handles for both the process and the main thread must be
| closed through calls to CloseHandle. If these handles are not
| needed, it is best to close them immediately after the process
| is created. 

ということなので、必須だと思われます。


>   あと、API は RUBY_CRITICAL() でガードする必要があるかも知れま
> せん。といいつつ、いくつか忘れてるところがあったりしますが。

うーん、未だにいろいろわかってなくって恐縮なのですが、
RUBY_CRITICAL()が必要なパターンというのはどういうもの
なのでしょう?
APIを呼ぶときは必ず? だとするとVC++のランタイムがAPIを
呼んでる場合は...


それでは。

--
U.Nakamura <usa@osb.att.ne.jp>

In This Thread