Bildirim
int cnd_timedwait(cnd_t* restrict cond, mtx_t* restrict mutex, const struct timespec* restrict time_point); (C11)
Açıklama
Mutex parametresi ile gösterilen mutex'in kilidini otomatik olarak açar. Thread'e cnd_signal veya cnd_broadcast tarafından sinyal verilinceye kadar veya time_point parametresi ile gösterilen TIME_UTC tabanlı zaman noktasına ulaşılana kadar veya yapay bir uyanma meydana gelene kadar cond parametresi ile gösterilen koşul değişkenini bloke eder.
Fonksiyon bir değer geri döndürmeden önce, mutex tekrar kilitlenir.
Eğer mutex çağıran thread tarafından kilitlemmemişse, atnımsız bir davranış gelişir.
Parametreler
cond: Bloke edilecek koşul değişkenini gösteren bir işaretçidir.
mutex: Blok işlemi süresince kilidi açılacak mutex'i gösteren bir işaretçidir.
time_point: İşlemin sona ereceği bekleme zamanını gösteren bir işaretçidir.
Dönüş değeri
Başarı durumunda thrd_success değerini, mutex kilitlenmeden önce zaman aşımı süresine ulaşıldıysa thrd_timedout değerini, bir hata meydana gelirse thrd_error değerini geri döndürür.