pause Kullanımı
Önceki Sinyalin Beklenmesi Sonraki
pause Kullanımı
Sinyal gelene kadar beklemenin en basit yolu pause çağrısı yapmaktır. Kullanmadan önce lütfen aşağıda açıklanan olumsuzluklarını okuyun.
int pause
()
işlev
pause işlevi, bir sinyal eylemciyi çalıştırmak ya da süreci sonlandırmak gibi bir eylemi yerine getirmek üzere bir sinyalin gelmesini beklemek için kullanılır.
Sinyal, bir eylemci işlevi tetikliyorsa pause döner. Bu başarısız bir dönüş olarak ele alınır (başarılı davranış, süreci sonsuza dek bekletmektir) ve işlev -1 değeri ile döner. Hatta bir sinyal eylemci döndüğünde diğer ilkellerin çalışmalarına kaldıkları yerden devam edeceklerini belirtseniz bile (Sinyallerle Kesilen İlkeller), bunun pause üzerinde bir etkisi yoktur; bir sinyal geldiğinde daima başarısız olarak dönecektir.
Aşağıdaki errno değeri bu işlev içindir:
EINTR
İşlev bir sinyal alarak kesintiye uğradı.
Sinyal sürecin sonlanmasına sebep oluyorsa pause dönmeyecektir (ister istemez).
Bu işlev çok evreli yazılımlar için bir iptal noktasıdır. Eğer evre pause çağrısı sırasında bazı özkaynakları (bellek, dosya tanımlayıcılar, semaforlar, v.s.) ayırıyorsa sorun çıkar. Evre iptal aldığı andan itibaren süreç sonlanana kadar bu özkaynaklar ayrılmış olarak kalacaktır. Bu tür pause çağrılarından kaçınmak için iptal eylemcileri kullanarak korunulmalıdır.
pause işlevi unistd.h dosyasında bildirilmiştir.
Önceki Üst Ana Başlık Sonraki
Sinyalin Beklenmesi Başlangıç pause Sorunları
Bir Linux Kitaplığı Sayfası