[openrtm-users 03090] OpenRTM-1.1.0でdeactivate時に実行周期の10倍待つ理由
Fumio KANEHIRO
f-kanehiro @ aist.go.jp
2014年 8月 8日 (金) 10:33:13 JST
金広@産総研です。
OpenRTM-1.1.0を使用しています。
PeriodicExecutionContextのdeactivate_component()で、以下のように
実行周期の10倍を単位として状態遷移が起きるのを待っていると思います。
実行周期が1秒といったゆっくりな場合に、終了に時間がかかるので困って
います。
ここは1倍でもよいように思うのですが、何か理由がありますでしょうか?
またこのあたりの処理は1.1.1で改善されると聞いていますが、1.1.1の
リリースはいつ頃になりそうでしょうか?
it->_sm.m_sm.goTo(INACTIVE_STATE);
int count(0);
const double usec_per_sec(1.0e6);
double sleeptime(10.0 * usec_per_sec / get_rate());
RTC_PARANOID(("Sleep time is %f [us]", sleeptime));
while (it->_sm.m_sm.isIn(ACTIVE_STATE))
{
RTC_TRACE(("Waiting to be the INACTIVE state %d %f", count,
(double)coi\
l::gettimeofday()));
coil::usleep(sleeptime);
if (count > 1000)
{
RTC_ERROR(("The component is not responding."));
break;
}
++count;
}
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20140808/89cfb47f/attachment.html>
More information about the openrtm-users
mailing list