タグ

ARMとライブラリに関するiwwのブックマーク (1)

  • 新世紀ももう世紀末 pthread と sleep & system

    ども、こんばんは。 日も休出&終電で、眠いぼにゃです(;´Д⊂)。 #ま、徹夜じゃなくて良かったけどね。 皆様は、如何お過ごしでしょうか? 日はちょびっと真面目な話。 glic-2.3.6 で以下のコードを書いて ARM上で動かすところびます。 落ちる箇所は、なんとsleep()(笑)。 x86かつ、最新のglibcだと全然問題なく動作。 なんでだろ?と思ってglibcを調べてみると、 どうも、sleep()とsystem()関数は、pthreadと相性がよろしくないみたい。 sleep()って、内部でSIGCHLD(子プロセスの終了シグナル)を受けたくないから 実行前に「SIGCHLDをブロック」しています(なんかキャンセルポイントが関係しているっぽい) また、system()って関数は、実行の際内部でfork()して実際のUNIXコマンドを実行していて、 終了の際に、「SIGCHL

  • 1