[openrtm-staff:509] Re: 4/25の作業報告(宮本)

Ando Noriaki n-ando @ aist.go.jp
2016年 4月 25日 (月) 21:28:25 JST


宮本さま

安藤です
ExtTrigの原因究明ありがとうございました。
チケットを切ったうえで、変更のコミットをお願いいたします。

2016年4月25日 19:21 宮本信彦 <n-miyamoto @ aist.go.jp>:

> 安藤様
>
>
>
> 宮本です。
>
>
>
> 本日の作業内容をお知らせします。
>
>
>
> --------------------
>
> ExtTriggerのサンプルがRTCをexitしてもプロセスが終了しない原因の調査
>
>
>
> ExtTrigExecutionContextクラスのsvc関数内のself._workerthread._cond.wait()
> で止まっているのは予想通りなのですが、この状態でtick関数を呼び出しても動かないみたいです。
>
> ExecutionContextBaseクラスのstop関数内でself._worker.stop()を実行しているため、tick関数内のif
> not self.isRunning():の判定に引っかかって1ステップ進める処理は実行されません。
>
> どうやらstop関数内でonStopping関数が呼び出されるみたいなので、ExecutionContextBaseクラスのonStopping
> 関数でtick関数を呼び出してみました。
>
>
>
> これでsvc関数のself._workerthread._cond.wait()
> からは動くのでスレッドも終了するはずだと考えていたのですが、上手くいきませんでした。
>
> どうやらonStopping関数でtick関数を呼び出したことでsvc関数のself._workerthread._cond.wait()
> からは動いたみたいなのですが、threadRunning関数がTrueを返しているらしくループが終了していません。
>
> そのためonStop関数で_svcをFalseにしてみました。
>
>
>
>   def onStopping(self):
>
>     guard = OpenRTM_aist.ScopedLock(self._svcmutex)
>
>     self._svc = False
>
>     del guard
>
>
>
>     self.tick()
>
>
>
>     return RTC.RTC_OK
>
>
>
>
>
> するとsvc関数は終了したみたいですが、今度はデストラクタでエラーがでました。
>
> どうやらTask.__del__(self)が駄目らしく、OpenRTM_aist.Task
> としないとどこで定義されたものなのか分からないみたいです。
>
> PeriodicExecutionContextクラスではデストラクタの引数にTask=OpenRTM_aist.Taskがあるわけですが、
> ExtTrigExecutionContextクラスのデストラクタには何故かこの引数が存在しません。
>
> なのでPeriodicExecutionContextクラスと同じく引数にTask=OpenRTM_aist.Task
> を追加したところ、何も問題なく終了しました。
>
> 修正したファイルは添付しましたので、これで良ければリポジトリにコミットします。
>
> 一応、チケットも発行した方が良いのであればそうします。
>
>
>
>
>
>
>
>
>
>
>
> あとラズパイマウスのマニュアルをページで分けました。
>
>
>
>
>
> http://openrtm.org/openrtm/ja/node/6005
>
> http://openrtm.org/openrtm/ja/node/6013
>
> http://openrtm.org/openrtm/ja/node/6014
>
> http://openrtm.org/openrtm/ja/node/6015
>
> http://openrtm.org/openrtm/ja/node/6016
>
> http://openrtm.org/openrtm/ja/node/6017
>
> http://openrtm.org/openrtm/ja/node/6018
>
> http://openrtm.org/openrtm/ja/node/6019
>
>
>
>
>
>
>
> サンプルのRTシステムの詳細について加筆しました。
>
>
>
> http://openrtm.org/openrtm/ja/node/6017
>
>
>
> プロジェクトページを作成しました。
>
>
>
> http://openrtm.org/openrtm/ja/project/raspimouse_rtcs
>
> http://openrtm.org/openrtm/ja/project/usb_9axis_sensor
>
>
>
>
>
>
>
>
>
> 以上です。
>
>
>
> --------------------------------------------------
>
> 宮本 信彦 n-miyamoto @ aist.go.jp
>
> 産業技術総合研究所 ロボットイノベーション研究センター
>
> ロボットソフトウェアプラットフォーム研究チーム
>
> テクニカルスタッフ
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20160425/9aaeb7b9/attachment.html>


More information about the openrtm-staff mailing list