[#10661] bmingw package — WATANABE Hirofumi <eban@...>

わたなべです.

49 messages 2000/08/21
[#10664] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/21

なかだです。

[#10665] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/21

なかだです。

[#10667] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/21

わたなべです.

[#10668] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/22

なかだです。

[#10670] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/22

わたなべです.

[#10671] Re: bmingw package — nobu.nakada@... 2000/08/22

なかだです。

[#10673] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/23

わたなべです.

[#10675] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/23

なかだです。

[#10693] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/28

わたなべです.

[#10707] Re: bmingw package — nobu.nakada@... 2000/08/28

なかだです。

[#10713] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/29

わたなべです.

[#10717] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/29

なかだです。

[#10723] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/30

わたなべです.

[#10797] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/01

なかだです。

[#10821] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/04

わたなべです.

[#10824] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/04

なかだです。

[#10825] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/04

わたなべです.

[#10827] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/04

なかだです。

[#10837] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/05

わたなべです.

[#10677] Class Variable — Shin-ichiro Hara <sinara@...>

原です。

16 messages 2000/08/24
[#10681] Re: Class Variable — matz@... (Yukihiro Matsumoto) 2000/08/25

まつもと ゆきひろです

[#10688] ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...>

http://www.geocities.co.jp/SiliconValley-Bay/4076/

34 messages 2000/08/27
[#10692] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/28

なかだです。

[#10705] Re: ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...> 2000/08/28

"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:

[#10711] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/29

なかだです。

[#10720] Re: ruby-1.6.0-20000824.i586-mswin32 bug — Katsuyuki Komatsu <komatsu@...> 2000/08/30

小松です.

[#10725] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/30

なかだです。

[#10805] ruby-1.6.0-20000901.i586-mswin32.lzh — Kazuhiro NISHIYAMA <zn@...> 2000/09/02

20000901のでもirbでCtrl+Cを押したら落ちました。

[#10807] Re: ruby-1.6.0-20000901.i586-mswin32.lzh — matz@... (Yukihiro Matsumoto) 2000/09/02

まつもと ゆきひろです

[#10811] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh — " たけ (tk)" <ggb03124@...> 2000/09/03

たけ(tk)です。

[#10813] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh — nobu.nakada@... 2000/09/03

なかだです。

[#10729] Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

18 messages 2000/08/30
[#10730] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — WATANABE Hirofumi <eban@...> 2000/08/30

わたなべです.

[#10762] ruby 1.6.0 preview — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

42 messages 2000/08/31

[ruby-dev:10751] Re: ruby-1.6.0-20000824.i586-mswin32 bug

From: arton <arton@...>
Date: 2000-08-30 12:24:36 UTC
List: ruby-dev #10751
artonです。

書き忘れてました。GetCurrentThread()で取れるのは、疑似ハンドルで実体では
ないため、次のように取ります。
(なんで、そんな仕組みにしているのかは知りませんが、多分、本当のハンドル
を取るにはカーネルをロックして...みたいなオーバーヘッドがあるからでしょ
う。疑似ハンドルは、定数みたいです)

HANDLE hThread;
DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
GetCurrentProcess(),
		&hThread, 0, FALSE, DUPLICATE_SAME_ACCESS);

このDupしたハンドルが、本当のハンドルになります。(この処理は、当然、メ
インスレッド自身で呼び出す必要があります)

(というか、GetCurrentThread()では、定数が取れて、同一スレッド内からのス
レッドハンドルを引数とするAPIの呼び出しはその値をカレントスレッドという
意味で解釈すると。この場合のように、異なるスレッドから使うと、そのスレッ
ド自身をさすことになり...という感じなので、Dupでホンモノのハンドルを取る
ことになります。最初、SuspendThreadにGetCurrentThread()したハンドルを渡
したら、その瞬間に凍りついてしまって、閉口した記憶が...)

本来は、使用後CloseHandleすべきなのですが、この使用方法だと、メインスレ
ッド自身のハンドルでいつ使うかわからないので、不要でしょう。

#一応、上のような理由で、自分をSuspendThreadすると固まるので、シグナルハ
ンドラ内で、

HANDLE sig_handler;
sig_handler = DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
GetCurrentProcess(),
		&hThread, 0, FALSE, DUPLICATE_SAME_ACCESS);
if (sig_handler != hMainThread)
{
  ...
}
else
{
  ....自分自身なので、好きに実行。
}
CloseHandle(sig_handler);
みたいに、チェックを入れたほうが安全だと思います(まあ、signalは別スレッ
ドという仕様なので問題ないとは思いますが)。


"Nobuyoshi.Nakada" wrote:
> 
> なかだです。
> 
> At Wed, 30 Aug 2000 19:33:29 +0900
> arton <arton@geocities.co.jp> wrote:
> 
>   なるほど、分かりました。ありがとうございます。それでいってみましょう。
> 
> > メインスレッドのハンドルが取れれば(というか、あらかじめruby_init()で保
> > 存する感じ)、
> 
>   これは GetCurrentThread() ですか? GetCurrentThreadId() というのもありま
> すけど。
> 
> --
> --- 僕の前にBugはない。
> --- 僕の後ろにBugはできる。
>     中田 伸悦

In This Thread