sigaction Seçenekleri
Önceki Sinyal Eylemlerinin Belirtilmesi Sonraki
sigaction Seçenekleri
sigaction veri yapısının sa_flags üyesi özel durumları belirtmek içindir. Çoğu durumda, SA_RESTART bu alanda kullanmak için iyi bir değerdir.
sa_flags üyesinin değeri bir bit maskesi olarak yorumlanır. Böylece çok sayıda seçenek belirtilebilir.
Her sinyalin kendine has seçenekleri vardır. her sigaction çağrısı belli bir sinyal için yapılır ve belirtilen seçenekler de sadece bu sinyale uygulanır.
GNU C kütüphanesinde, signal işlevi ile kurulan eylemci için bu seçenekler, değeri siginterrupt kullanımına bağlı olan SA_RESTART haricinde sıfıra ayarlanır. Bu durumla ilgili bilgiyi Sinyallerle Kesilen İlkeller bölümünde bulabilirsiniz.
Bu makrolar signal.h başlık dosyasında tanımlanmıştır.
int SA_NOCLDSTOP
makro
Bu seçenek sadece SIGCHLD sinyali için anlamlıdır. Bu seçenek etkin olduğunda sistem, durdurulan değil, sonlandırılan bir alt süreç olduğunda bu sinyali alır. Öntanımlı olarak, SIGCHLD sinyali hem durdurulan hem de sonlandırılan bir alt süreç olduğunda alınır.
Bu seçenek SIGCHLD dışında bir sinyal için belirtildiğinde etkisizdir.
int SA_ONSTACK
makro
Bu seçenek belli bir sinyal için etkin olduğunda, sistem bu çeşit sinyalleri aldığında sinyal yığıtını kullanır. Bu seçeneğin etkin olduğu bir sinyal alınırsa ve siz bir sinyal yığıtı oluşturmamışsanız, sistem yazılımınızı SIGILL sinyali ile sonlandırır.
int SA_RESTART
makro
Bu seçenek, open, read ve write gibi ilkellerin bir sinyal aldıklarında nasıl davranacaklarını belirler ve sinyal yakalayıcı normal olarak döner. İki durum söz konusu olabilir: kütüphane işlevi ya çalışmasını sürdürür ya da EINTR hata kodu ile başarısız olur.
Seçimi belirleyen, sinyal alındığında SA_RESTART'ın etkin olup olmadığıdır. Etkinse, kütüphane işlevi çalışmasını sürdürür, değilse sinyal işlevin başarısız olmasına sebep olur. Bkz. Sinyallerle Kesilen İlkeller.
Önceki Üst Ana Başlık Sonraki
sigaction Örneği Başlangıç Sinyal Eylemlerinin İlk Durumu
Bir Linux Kitaplığı Sayfası