プロジェクト

全般

プロフィール

バグ #2353

ExecutionContextWorkerのデッドロック

n-ando12年以上前に追加. 約12年前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2012/02/06
期日:
進捗率:

100%

予定工数:

説明

ExecutionContextWorkerにおいて、invokeWorkerXXX系の関数でm_compsをmutex保護しているため、Workerがブロッキングするケースで他の関数(get_component_state()等)との間でデッドロック(あるいは単なるロック)が発生する。
コンポーネントリストm_compsはWorkerXXXの最後で呼ばれるupdateComponentList()でのみ変更されるため、WorkerXXX()系関数ではロックを剃る必要がない。


関連するチケット

関連している OpenRTM-aist (C++) - バグ #2352: ExecutionContextWorkerのデッドロック終了2012-02-06

関連している OpenRTM-aist (Java) - 機能 #2347: ExecutionContextWorkerの実装終了2012-02-04

履歴

#1 匿名ユーザー が約12年前に更新

  • ステータス新規 から 解決 に変更
  • 担当者匿名ユーザー にセット
  • 進捗率0 から 100 に変更

ExecutionContextWorker実装(チケット #2347)の際に本件の対策を反映して実装。

#2 n-ando約12年前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF