C言語なら俺に聞け(入門篇) Part 6
■ このスレッドは過去ログ倉庫に格納されています
0417デフォルトの名無しさん
2007/01/11(木) 17:11:00気になったのでちょっと調べてみた。
ttp://msdn.microsoft.com/library/ja/jpdllpro/html/_win32_createmutex.asp?frame=true
CreateMutexの処理がアトミックであるとは書いていないね。
よく考えたら、CreateMutex自体はmutexオブジェクトのハンドルを返すだけだから、
処理の途中で割り込まれても実は問題ない。
もちろん、CreateMutex内でオブジェクトを中途半端に作成している状態で、
他が二重にオブジェクトを作成するようなことはできないようにはしているはずだけど、
CreateMutex全体で一つのクリティカルセクションになっている必要はないと思う。
CreateMutexの第2引数でTRUEを指定しても、所有権を即座に要求できるだけで、
実際に即座に所有できることは保証されていないから、
オブジェクトが作られてから所有権を得るまでに割り込まれることは織り込み済みのようだし。
CreateMutexの中で他のプロセスから再入されないことが保証されているわけではないが、
悪いようにはしないって感じかね。
MSDNなんて久しぶりに覘いたよ。
■ このスレッドは過去ログ倉庫に格納されています