[openrtm-users 01239] サービスポートにおけるデータの受信について

kimura kimura @ ms.esys.tsukuba.ac.jp
2010年 5月 24日 (月) 11:47:05 JST


OpenRTM MLの皆様

筑波大学の木村と申します。

プロバイダ側からコンシューマ側へ構造体ポインタを渡す際に
Segmantation fault となってしまいデータを送ることが
できないのですが、解決方法をご存じの方がいらっしゃいましたら
ご教示お願いいたします。


今年度からubuntu8.04にてOpenaRTM-aist-1.0を利用しており、
現在、下記のようなidlファイルを用いてサービスポートを
作成中なのですが、下記のimpl.cppファイルの様な内容を記述し、
プロバイダ側からコンシューマ側へ構造体ポインタを
渡す際にプロバイダ側でSegmantation fault となってしまいデータを送ることが
できない状況にあります。

過去のメーリングリスト [openrtm-users 00795] にて類似の質問に対する
解決策を見つけたのですが、本件では、下記のidlファイル内容を
変更することなく用いたいと考えております。

勉強不足で、至らない点も多々あるかとは思いますが、ご教示して
頂けたら幸いです。

以下に再現用のテストで用いたidlファイル、およびimpl.cppファイル内の該当
部を記します。
---ここから(idlファイル)---
module RTC
{
struct RETURN_ID
{
long id;
string comment;
};
};
interface ManipulatorCommonInterface_Common
{
RTC::RETURN_ID clearAlarms();
};
---ここまで(idlファイル)---

---ここから(impl.cppファイル)---
RTC::RETURN_ID* ManipulatorCommonInterface_CommonSVC_impl::clearAlarms()
{
RTC::RETURN_ID* retval;
retval->id = 0;
retval->comment="OK";
return retval;
}
---ここまで(impl.cppファイル)---

-- 

木村 真也
 筑波大学 システム情報工学研究科
 Manipulation System Lab
 Email: kimura @ ms.esys.tsukuba.ac.jp




openrtm-users メーリングリストの案内