We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
障害内容を記載 簡略化した優先度制御規則においてもタスクの現在優先度を高くする方向の変更はす べて行うべきところを、現在優先度を高くする場合もタスクがロックしているミューテックスがない時(または,なくなった時)にのみに実施している。
再現手順 ソースコード上で確認。
開発実行環境:
補足事項 μITRON4.0仕様では以下のように定義されている。
μITRON4.0仕様では,上述の厳密な優先度制御規則に加えて,現在優先度を変 更する状況を限定した優先度制御規則(これを簡略化した優先度制御規則と呼 ぶ)を規定し,どちらを採用するかは実装定義とする.具体的には,簡略化し た優先度制御規則においては,タスクの現在優先度を高くする方向の変更はす べて行うのに対して,現在優先度を低くする方向の変更は,タスクがロックし ているミューテックスがない時(または,なくなった時)にのみ行う(この場 合には,タスクの現在優先度をベース優先度に一致させる).より具体的には, 次の状況でのみ現在優先度を変更する処理を行えばよい. • タスクがロックしているTA_INHERIT属性のミューテックスを,そのタスクよりも高い現在優先度を持つタスクが待ち始めた時 • タスクがロックしているTA_INHERIT 属性のミューテックスを待っているタスクが,前者のタスクよりも高い現在優先度に変更された時 • タスクが,そのタスクの現在優先度よりも高い上限優先度を持つTA_CEILING属性のミューテックスをロックした時 • タスクがロックしているミューテックスがなくなった時 • chg_priによりタスクのベース優先度を変更した場合で,そのタスクがロックしているミューテックスがないか,変更後のベース優先度が現在優先度よりも高い時 ミューテックスの操作に伴ってタスクの現在優先度を変更した場合には,次の処理を行う.優先度を変更されたタスクが実行できる状態である場合,タスクの優先順位を,変更後の優先度にしたがって変化させる.変更後の優先度と同じ優先度を持つタスクの間での優先順位は,実装依存である..優先度が変更されたタスクが何らかのタスク優先度順の待ち行列につながれている場合にも,その待ち行列の中での順序を,変更後の優先度にしたがって変化させる.
chg_priでも「 タスクがロックしているTA_INHERIT 属性のミューテックスを待っているタスクが,前者のタスクよりも高い現在優先度に変更された時」の対処は必要だがやっていないのが問題。
chg_priにより現在優先度を変更する場合に以下の処理が必要
The text was updated successfully, but these errors were encountered:
No branches or pull requests
障害内容を記載
簡略化した優先度制御規則においてもタスクの現在優先度を高くする方向の変更はす
べて行うべきところを、現在優先度を高くする場合もタスクがロックしているミューテックスがない時(または,なくなった時)にのみに実施している。
再現手順
ソースコード上で確認。
開発実行環境:
補足事項
μITRON4.0仕様では以下のように定義されている。
chg_priでも「 タスクがロックしているTA_INHERIT 属性のミューテックスを待っているタスクが,前者のタスクよりも高い現在優先度に変更された時」の対処は必要だがやっていないのが問題。
chg_priにより現在優先度を変更する場合に以下の処理が必要
The text was updated successfully, but these errors were encountered: