Önceden de bahsedildiği gibi signal fonksiyonu sistemden sisteme değişebilen bir davranışa
sahiptir. Yani signal fonksiyonu POSIX standartlarına göre deprecated durumdadır. Signal
fonksiyonundaki davranış farklılığı ve bozuklukları şunlardır:
1) signal fonksiyonuna dallanıldığında signal durumunun default’a çekilip çekilmeyeceği
sistemden sisteme değişmektedir. Örneğin AT&T sisteminde default’a çekilirken BSD
sistemlerinde çekilmemektedir.
2) Yavaş sistem fonksiyonlarının signal fonksiyonuyla kesilmesi durumunda fonksiyonun
yeniden çağrılmasının işletim sistemi tarafından mı yoksa programcı tarafından mı yapılacağı
sistemden sisteme değişmektedir. AT&T Unix fonksiyonu programcının çağırmasını isterken
BSD bunu otomatik yapmaktadır.
3) Signal fonksiyonu çalıştırılırken aynı signal’den bir daha oluştuğu durumdaki davranış
sistemden sisteme değişebilmektedir. AT&T Unix’lerde iç içeliğe izin verilmiştir, BSD
sistemlerinde izin verilmemiştir.
POSIX standartları bu uyumsuzluğu kaldırmak için yeni çok geniş olanaklara sahip olan
signal fonksiyonları tanımlamıştır. POSIX’teki yenilikler ve genişletmeler şunlar olmuştur:
1) POSIX signal sistemini anlamak için üç önemli terimi açıklamak gerekir.
a) signal’in iletilmesi (deliverance): İşletim sisteminin signal fonksiyonunu çağırmasına
signal’in iletilmesi (deliver) denir.
b) signal’in askıda olması (pending): signal’in işletim sistemine bildirilmesiyle signal
fonksiyonunun çağrılması arasındaki zamana signal’in askıda olması (pending) denir
c) Signal’in bloke olması: signal işletim sistemine bildirildiği halde programcının isteği
doğrultusunda askıda bırakılarak signal fonksiyonunun çağrılmaması durumuna signal’in
bloke olması denir.
POSIX signal fonksiyonları istenilen signal’ların bloke olmasını sağlayabilmektedir. Yani
işletim sistemine “falanca signal gelirse bunu şimdilik işleme sokma, ben blokeyi çözünce
blokeyi çöz” denilmektedir.
2) Bir signal oluştuğunda istenilen signal’lar bloke edilebilmektedir. Bloke çözüldüğünde o
signal’lar iletilmektedir. Signal’ların biriktirilmesi söz konusu değildir.
3) İstenilen signal’lar herhangi bir zaman bloke edilebilir.
4) Signal oluştuğunda oluşan signal her zaman otomatik olarak bloke edilir. Yani iç içe
signal oluşmaz. Ancak signal’ın tekrar default duruma çekilip çekilmeyeceği ayrıca
belirlenebilmektedir.