バグ #621
完了OpenRTM-aist(C++)-「Create/Delete」Componentでのメモリリーク
100%
説明
RTCの生成・破棄に関するオペレーション(CreateDeleteRTCTest.py)で
delete_component()、create_component()をセットで呼び出した場合、
ConfigSampleでは、32~37回毎に4KBのメモリ増加となる。
メモリリークの原因を特定する。
匿名ユーザー さんが15年以上前に更新
- ステータス を 新規 から 終了 に変更
- 進捗率 を 0 から 100 に変更
以下の修正を行い、動作確認でメモリーリークの発生なし。
●ManagerServant.h
// ::RTM::Manager_ptr m_objref;
::RTM::Manager_var m_objref;//修正後
●PeriodicECSharedComposite.cpp
PeriodicECOrganization::addPort()
// m_rtobj->registerPort(::RTC::PortService::_duplicate(plist[i].port_ref));
m_rtobj->registerPort(plist[i].port_ref);//修正後
●InPortCorbaCdrProvider.cpp
InPortCorbaCdrProvider::InPortCorbaCdrProvider()
CORBA_SeqUtil::
push_back(m_properties,
NVUtil::newNV("dataport.corba_cdr.inport_ref",
// ::OpenRTM::InPortCdr::_duplicate(m_objref)));
m_objref));//修正後
●OutPortCorbaCdrProvider.cpp
OutPortCorbaCdrProvider::OutPortCorbaCdrProvider()
CORBA_SeqUtil::
push_back(m_properties,
NVUtil::newNV("dataport.corba_cdr.outport_ref",
// ::OpenRTM::OutPortCdr::_duplicate(m_objref)));
m_objref));//修正後
以上