Sinyal Yakalayıcıların Tanımlanması
Önceki XXIV. Oylum - Sinyal İşleme Sonraki
Sinyal Yakalayıcıların Tanımlanması
İçindekiler
1. Dönen Sinyal Yakalayıcılar  -  Süreci sonlandırmayan, normal olarak dönen eylemci işlevler.
2. Süreci Sonlandıran Eylemciler  -  Eylemci işlevler bir süreci nasıl sonlandırır.
3. Eylemci İşlevlerde Denetimin Aktarımı  -  Eylemci işlevlerde denetimin dışarı aktarılması
4. Eylemci Çalışırken Sinyal Alınması  -  Sinyaller peşpeşe gelirse ne olacak.
5. Eylemci Çalışmadan İkinci Bir Sinyalin Alınması  -  Eylemci işlev daha çalışmamışken ikinci bir sinyal gelirse ne olacak.
6. Sinyal İşleme ve Evresel Olmayan İşlevler  -  Sinyaller bakımından evresel olduğunu bilmedikçe hiçbir işlevi çağırmayın.
7. Atomik Veri Erişimi ve Sinyal İşleme  -  Bir sinyal yakalayıcı, bir nesnenin okunması ya da yazılması işleminin arasına girebilir.
7.1. Atomsal Olmayan Veriye Erişimle İlgili Sorunlar  -  Veriye erişimin kesmeye uğratıldığı yazılıma bir örnek.
7.2. Atomsal Türler  -  Kesmeye uğratılamayan veri türleri.
7.3. Atomsal Kullanım Şekilleri  -  Kesmenin bozuculuğunun saptanması.
Bu bölümde signal veya sigaction işlevi kullanılarak oluşturulan bir sinyal yakalama işlevinin nasıl yazılacağı anlatılmıştır.
Bir sinyal yakalama işlevi, yazılımınızın içinde derlenen bir işlevdir. Tek farkla, bu işlevi doğrudan siz çağırmazsınız, signal veya sigaction işlevini kullanarak bir sinyal geldiğinde işletim sisteminin bu işlevi çağırmasını sağlarsınız. Buna eylemci oluşturmak diyoruz. Bkz. Sinyal Eylemlerinin Belirtilmesi.
Bir eylemci işlevde kullanabileceğiniz iki strateji vardır:
  • Bazı genel veri yapılarıyla oynarken sinyal alındığında çalışan bir eylemciniz olabilir ve bu normal olarak döner.
  • Eylemci işleviniz süreci sonlandırabilir ya da denetimi, sinyali oluşturan durumu ortadan kaldıran bir yere taşımanızı sağlayabilir.
Eylemci işlevleri yazmak için özellikle yardıma ihtiyacınız olacak, çünkü bu işlevlerin ne zaman çağrılacağı hiç belli olmaz. Hatta çok kısa aralıkla iki sinyal birden alabilirsiniz ve bu durumda bir eylemcinin başka bir eylemciyi çalıştırması gerekebilir. Bu kısımda eylemci işlevi yazarken neleri yapmanız neleri yapmamanız gerektiği açıklanmıştır.
Önceki Üst Ana Başlık Sonraki
Sinyal Eylemlerinin İlk Durumu Başlangıç Dönen Sinyal Yakalayıcılar
Bir Linux Kitaplığı Sayfası