Actions
バグ #781
closedWindows上でのConsoleIn,ConsoleOutコンポーネントの動作不具合
Status:
終了
Priority:
通常
Assignee:
-
Target version:
-
Start date:
07/09/2009
Due date:
% Done:
100%
Estimated time:
Description
WindowsにてConsoleIn,ConsoleOuを起動し、RTSystemEditorにてAll Activateを行うとRTSystemEditorが固まる。
固まる原因は、ConsoleOutのactivate_component()で処理が戻ってこないため。
activate_component()の処理内にてデッドロックが発生している模様。
チケット#628にてsrc/lib/coil/win32/coil/Mutex.hの修正が行われたが、ここで修正されたCreateMutex()の
第三引数に固定の名前を指定しているのが悪さしているようであった。
この第三引数を以前のようにNULLに戻してみたところ、ConsoleIn,ConsoleOutは問題無く動作するようになった。
動作確認を行ったリビジョンはR1435。
Updated by Anonymous about 15 years ago
- 原因
システム全体を一つの mutex のハンドルで制御しようとしたためデッドロックが発生した。 - 対策
coil::LogStream で使用する mutex は static に修正。
coil::Mutex で mutex を生成する (CreateMutex) 際に、名前付き/Null を指定できるように修正。
RTC::Logger のフォーマット機能付きログ出力マクロで、引数にログ出力がある関数が指定された場合、デッドロックを起こすため改修。 - 確認 (posix,windows で確認)
coil の Logger に unit テストで問題がなことを確認。
log_level を PARANOID にして SimpleIO を動作させてログファイルが崩れて記録されていないことを確認。
Updated by Anonymous about 15 years ago
- Status changed from 新規 to 終了
- Assignee set to Anonymous
- % Done changed from 0 to 100
Actions