プロジェクト

全般

プロフィール

バグ #3650

実行周期を0に設定してもエラーコードを返さない問題

n-miyamoto7年以上前に追加. 6年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2016/10/05
期日:
進捗率:

100%

予定工数:

説明

setRate関数の引数に0を指定した場合にはRTC::BAD_PARAMETERを返すのが本来の仕様だが、ExecutionContextProfileクラスのsetRate関数内でrate < 0.0と判定しているため0の時にRTC::RTC_OKを返してしまう問題が発生する。
またsetPeriod関数内でも同様の判定をしているため修正する。

RTC::ReturnCode_t ExecutionContextProfile::setRate(double rate)
{
    RTC_TRACE(("setRate(%f)", rate));
    if (rate < 0.0) { return RTC::BAD_PARAMETER; }

    Guard guard(m_profileMutex);
    m_profile.rate = rate;
    m_period = coil::TimeValue(1.0/rate);
    return RTC::RTC_OK;
}

RTC::ReturnCode_t ExecutionContextProfile::setPeriod(coil::TimeValue period)
{
    RTC_TRACE(("setPeriod(%f [sec])", (double)period));
    if ((double)period < 0.0) { return RTC::BAD_PARAMETER; }

    Guard guard(m_profileMutex);
    m_profile.rate = 1.0 / (double)period;
    m_period = period;
    return RTC::RTC_OK;
}

関係しているリビジョン

リビジョン 2777 (差分)
n-ando7年以上前に追加

[compat,->RELENG_1_2] Execution rate and period check has been modified. refs #3650

リビジョン 2777 (差分)
n-ando7年以上前に追加

[compat,->RELENG_1_2] Execution rate and period check has been modified. refs #3650

履歴

#1 n-ando7年以上前に更新

  • 担当者n-ando にセット
  • 対象バージョンRELENG_1_2 にセット
  • 進捗率0 から 100 に変更

rate/periodのチェックを 0.0 以上かどうか、を、0.0より大きいかどうかに変更。

#2 n-ando6年以上前に更新

  • ステータス新規 から 終了 に変更

他の形式にエクスポート: Atom PDF