|
/* Bu değişkene SIGALRM sinyal eylemcisi değer atayacak. */ volatile sig_atomic_t flag = 0; int main (void) { sigset_t block_alarm; ... /* Sinyal maskesini ilklendirelim. */ sigemptyset (&block_alarm); sigaddset (&block_alarm, SIGALRM); while (1) { /* Bir sinyal gelmiş mi bakalım. Gelmişse değişkeni sıfırlayalım. */ sigprocmask (SIG_BLOCK, &block_alarm, NULL); if (flag) { sinyal alınmamışsa yapılacak işlemler flag = 0; } sigprocmask (SIG_UNBLOCK, &block_alarm, NULL); ... } }
|