操作
バグ #750
完了RTObject_impl::detach_context の不具合
ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2009/06/24
期日:
進捗率:
100%
予定工数:
説明
- 現象:
以下のような場合、id2のdetach_contextで落ちます。
RTObjectMock* rto = new RTObjectMock(m_pORB, m_pPOA); // will be deleted automatically
RTC::PeriodicExecutionContext* ec1 = new RTC::PeriodicExecutionContext(); // will be deleted automatically
RTC::PeriodicExecutionContext* ec2 = new RTC::PeriodicExecutionContext(); // will be deleted automatically
RTC::UniqueId id1 = rto->attach_context(ec1->_this());
RTC::UniqueId id2 = rto->attach_context(ec2->_this());
rto->detach_context(id1);
rto->detach_context(id2);
- 原因:
detach_context()の最後で、CORBA_SeqUtil::erase(m_ecOther, index) で要素を消しています。
eraseは要素を詰めるため、id がずれてしまい現象が発生します。
操作