プロジェクト

全般

プロフィール

バグ #2319

ECのコールバック実行順序を修正する

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

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

100%

予定工数:

説明

現在のECはon_executeとon_state_updateの実行順序がA,BというRTCが同一ECにアタッチされている場合、

A:on_execute->A:on_state_update->B:on_execute->B:on_state_update

となっているが、OMG RTC標準仕様にしたがって、

A:on_execute->B:on_execute->A:on_state_update->B:on_state_update

となるように修正する。

修正項目としては、
  1. StateMachine::worker() を worker_pre(), worker_do(), worker_post()に分割し、それぞれでpre_do, do, post_doコールバックを呼ぶように変更する。
  2. PeriodicEC内でfor_eachでworker()を呼んでいる部分をworker_pre(), worker_do(), worker_post()に分割する。

関連するチケット

関連している OpenRTM-aist (C++) - バグ #2318: ECのコールバック実行順序を修正する終了2012-01-11

関係しているリビジョン

リビジョン 665 (差分)
fsi-katami が約12年前に追加

Now ExecutionContextProfile management has been moved to ExecutionContextBase. getObjRef() is also moved to ExecutionContextBase. Now onExecute and onStateUpdate execution behavior has been changed when two or more RTCs attached to the EC. Old: A::onExecute, A::onStateUpdate, B::onExecute, B::onStateUpdate New: A::onExecute, B::onExecute, A::onStateUpdate, B::onStateUpdate refs #2319

履歴

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

r 661

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

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

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

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

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