[openrtm-users 00431] RTCのデストラクタにつきまして

2 posts / 0 new
Last post
root
Offline
Last seen: 4 days 9 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00431] RTCのデストラクタにつきまして

産総研の中島です。

以下2点について質問させてください。

(1)「RTCのデストラクタ」について

RTCの状態遷移がどのように呼ばれるかを確認するためにサンプルソースを
作成し、全てのメソッド(constructer/destructer含む)をアンコメントアウト
して内部にデバッグライト(以下のようなもの)を入れて、例えばRtc-Linkで「activate」,「exit」
などの操作を行った場合に、どのように呼ばれるかを確認しておりましたところ、
「exit」「finalize」などを行っても「destructer()」に入らないように思えました。

ex1) 端末からRTC起動 -> Rtc-Linkで「activate」->「exit」で終了
「now in constructer()」
「now in onInitialize()」
「now in onStartup()」
「now in onActivate()」
   「now in onExecute()」
「now in onStateUpdate()」
「now in onFinalize()」

ex2) 端末からRTC起動 -> Rtc-Linkで「activate」-> 「deactivate」->「exit」で終了
「now in constructer()」
「now in onInitialize()」
「now in onStartup()」
「now in onActivate()」
   「now in onExecute()」
「now in onStateUpdate()」
「now in onDeactivate()」
「now in onShutdown()」
「now in onFinalize()」

上記2つの例では、最後に「now in destructer()」というデバッグライトを期待していたのですが、
得られませんでした。

デストラクタは呼ばれないのでしょうか?

(2) 終了方法について

 以前のMLにもありましたが、端末でRTC(manager?)を起動(./SampleComp) 
した場合、「exit」「finalize」でコンテキストとRTCが終了しても、managerを
終了させるには、やはり「ctrl+c」をしなければ終了できないのでしょうか?

よろしくお願いいたします、

Undefined
root
Offline
Last seen: 4 days 9 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00433] RTCのデストラクタにつきまして

中島様

安藤です

> 以下2点について質問させてください。
>
>
> (1)「RTCのデストラクタ」について
>
> RTCの状態遷移がどのように呼ばれるかを確認するためにサンプルソースを
> 作成し、全てのメソッド(constructer/destructer含む)をアンコメントアウト
> して内部にデバッグライト(以下のようなもの)を入れて、例えばRtc-Linkで「activate」,「exit」
> などの操作を行った場合に、どのように呼ばれるかを確認しておりましたところ、
> 「exit」「finalize」などを行っても「destructer()」に入らないように思えました。
>
> ex1) 端末からRTC起動 -> Rtc-Linkで「activate」->「exit」で終了
> 「now in constructer()」
> 「now in onInitialize()」
> 「now in onStartup()」
> 「now in onActivate()」
> 「now in onExecute()」
> 「now in onStateUpdate()」
> 「now in onFinalize()」
>
> ex2) 端末からRTC起動 -> Rtc-Linkで「activate」-> 「deactivate」->「exit」で終了
> 「now in constructer()」
> 「now in onInitialize()」
> 「now in onStartup()」
> 「now in onActivate()」
> 「now in onExecute()」
> 「now in onStateUpdate()」
> 「now in onDeactivate()」
> 「now in onShutdown()」
> 「now in onFinalize()」
>
> 上記2つの例では、最後に「now in destructer()」というデバッグライトを期待していたのですが、
> 得られませんでした。
>
> デストラクタは呼ばれないのでしょうか?

デストラクタを呼ぶように作ったつもりでしたが、
もしかすると呼ばれないかもしれません。
終了処理周りはちょっと怪しい部分もあるので調査してみます。

> (2) 終了方法について
>
> 以前のMLにもありましたが、端末でRTC(manager?)を起動(./SampleComp)
> した場合、「exit」「finalize」でコンテキストとRTCが終了しても、managerを
> 終了させるには、やはり「ctrl+c」をしなければ終了できないのでしょうか?

RTC::Manager::instance.terminate()
を呼べば終了したと思います。

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK