ディレクトリ
まず、信号は保留中の信号を遮断します
二つ、一時停止(2)を使用し
第三に、信号は、処理中に送信します
第四に、リエントラント機能
第五に、相続の信号処理機能を実装するコードを書きます
六、setitimerがタイマーを達成
第四に、リエントラント機能
関数は空間全体のスタックフレームに割り当てられた可変領域を使用し、そのような関数は、リエントラント関数と呼ばれます。それ以外の場合は牛乳が機能することはできません重くなります。
信号処理機能は、そのリエントラント機能を確保しようとします。
する#include <stdio.hに> する#include <signal.hに> する#include <unistd.h> ボイドのdoIt(int型N){ int型V、 静的 INT C = 0 。 V = C; V ++ ; usleep(5000 ); C = V; printf(" C =%d個の\ n " 、C)。 返します。 } INTメイン(ボイド){ 信号(2 、のdoIt)。 一方、(1 ){ のdoIt(2 )。 } 戻り 0 。 }
doItと呼ばれるループ2及び信号処理機能ながらコード、両方の読み取りおよびCへの書き込みをしています