タグ

ブックマーク / qiita.com/rarul (2)

  • シグナルハンドラにprintf()を書いてはいけない - Qiita

    三行でまとめると シグナルハンドラ内でprintf()してはいけない というより、余計な処理を書いてはいけない もう一度言う、シグナルハンドラで余計なことをするな、非常に大事なことだ はじめに シグナルハンドラでやってよい処理は非常に限られるのに、全くルールを守らないサンプルコードが世の中に大量に出回っている。printf()するなんてもってのほかなのだが、カジュアルにそこらじゅうで見かけて非常に悲しい。 この記事では、そんな状況を少しでも改善したいと思い初心者向きに書いたものだ。そのため、下記では、回避するにはどう実装すればよいのか、ルールを破るとどうなるのか、といった点を先に簡潔に記述する。 なぜしてはいけないのか、POSIXだとかリエントラントだとか、は下の方に追いやっている。玄人は読んでてウズウズするだろうが、細かい話はできるだけ目につかないような構成としたため了解いただきたい。

    シグナルハンドラにprintf()を書いてはいけない - Qiita
    rjj
    rjj 2022/05/10
  • Linuxのschedのpriorityとリアルタイムシステムについて - Qiita

    はじめに Linuxでいわゆるリアルタイムシステムを指向するときはsched(7)のpriority値を意識することになるが、個人的にいつもpriorityの値を相対的にしか見られず、絶対的にかつどっちが上・下かについてわからなくなってしまうので、そんな自分のためにメモ書きしておくことにした・・・つもりが、なにか途中から趣旨を間違えた記事になってしまった。当は「priority一覧表」がほしかっただけだったのに... なお、Linux-4.10くらい、procps-ng-3.3.12くらい、util-linux-2.29.2くらいを見ています。 schedのpolicyとpriority値 Linuxでは、ユーザプログラム・kernelスレッド問わず、タスクにsched policyを設定できる。下記の上3つがいわゆるリアルタイムスケジューリング、下3つがいわゆるタイムシェアスケジューリ

    Linuxのschedのpriorityとリアルタイムシステムについて - Qiita
    rjj
    rjj 2017/04/25
  • 1