Süreci Sonlandıran Eylemciler
Önceki Sinyal Yakalayıcıların Tanımlanması Sonraki
Süreci Sonlandıran Eylemciler
Süreci sonlandıran eylemci işlevler genellikle düzenlenmiş bir durdurma için ya da yazılım hata sinyalleri ile etkileşimli kesmelerden kurtulmak amacıyla kullanılırlar.
Süreci sonlandıran bir eylemci için en iyi yöntem aynı sinyali eylemci çalıştığı anda tekrar yayınlamaktır. Bunun yapılışına bir örnek:
volatile sig_atomic_t fatal_error_in_progress = 0;

void
fatal_error_signal (int sig)
{
  /* Bu eylemci çok sayıda sinyal çeşidi için kurulduğundan,
     diğer sinyaller için de defalarca çağrılabilecektir. Bu
     durumu izlemek için bir durağan değişken kullanacağız. */
  if (fatal_error_in_progress)
    raise (sig);
  fatal_error_in_progress = 1;

  /* Şimdi biraz temizlik yapalım:
     - uçbirim kipleri sıfırlansın
     - alt süreçler ölsün
     - kilit dosyaları silinsin */
  …

  /* Şimdi sinyali tekrar yayınlayalım. Süreci sonlandırması için
     sinyalin öntanımlı eylemini etkin kılıyoruz.
     Tam bu anda exit veya abort
     çağrısı yapabilmeli ve sürecin çıkış durumunun doğru ayarlanması
     için sinyali yeniden yayınlamalıyız. */
  signal (sig, SIG_DFL);
  raise (sig);
}
Önceki Üst Ana Başlık Sonraki
Dönen Sinyal Yakalayıcılar Başlangıç Eylemci İşlevlerde Denetimin Aktarımı
Bir Linux Kitaplığı Sayfası