C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: イベントの待ち合わせ


(過去ログ 100 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■59945 / inTopicNo.1)  イベントの待ち合わせ
  
□投稿者/ kent (1回)-(2011/06/13(Mon) 17:30:15)

分類:[C/C++] 

開発環境はVisual Studio 2008 + Windows XPです。

下記のページにサンプルのある
仮想プリンタプログラムを変更していました。
http://dsas.blog.klab.org/archives/51741063.html

上記プログラムでは、
親プロセスで一時ファイルの出力を行い、
子プロセスはその出力を待って処理を行うということを行っています。

具体的には親プロセスでCreateEvent()したイベントを、
子プロセスがWaitForSingleObject()で待つという方式です。

ところが、実際に動作確認をしてみると、
親プロセスがSetEvent()する前に、
子プロセスのWaitForSingleObject()以降の処理が行われているようです。
#デバッガで親プロセスにアタッチし、
#SetEvent()の前で止めても子プロセスの
#ファイル出力処理が行われることで確認しました。

きちんとイベント待ちをするように、
修正を行いたいのですが、アドバイス頂けないでしょうか。
引用返信 編集キー/
■59946 / inTopicNo.2)  Re[1]: イベントの待ち合わせ
□投稿者/ kent (2回)-(2011/06/13(Mon) 17:50:52)
書きもらしました。RedMonProxyの方です。
参考までに処理の流れを以下に書いておきます。

親:親プロセスの処理
子:子プロセスの処理

----------

親:CreateEvent()待ち合わせ用
親:子プロセス起動
親:WaitForInputIdle()
親:一時ファイルの出力
親:SetEvent()
親:WaitForSingleObject()子プロセスの終了待ち
親:終了

子:OpenEvent()待ち合わせ用
子:WaitForSingleObject()一時ファイルの出力待ち
子:ファイル名決定ダイアログ(←今回この処理をスキップして固定ファイルを出力)
子:ファイル出力処理
子:終了

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -