döndükten sonra siliniyor Bir ana iş parçacığım ve dosya çıktılarını gerçekleştirmek için bir daemon iş parçacığım bulunan bir proje üzerinde çalışıyorum. Benim ana iş parçacığımda silmek istediğim bir alan pthread_t * _daemon
var, ama açıkça sadece _daemon
NULL döndürdüğünde (pthread_exit()
kullanarak bellek sızıntıları neden olduğunu anlıyorum).Bir daemon iş parçacığı yalnızca
Meşgul beklemeden nasıl yapabilirim? Bir koşul değişkeni kullanmayı denediğimde sorun yaşıyorum - Ana iş parçacığı uyandırmak için signal()
formu _daemon
çağırdığımda, _daemon
NULL döndürmeden önce _daemon
siler.
Yaptığım şey, program başlatıldığında kilitlenen ve _daemon
döndürmeden önce kilidi açılmış bir muteks kilidini kullanmak. Meşgul beklemeye neden olmaz daha iyi bir yolu var mı?
'pthread_join'? – Mat
Ne sorduğun belli değil. Tam olarak silmek istediğiniz nedir? –
pthread_t alanı, ancak burada depolanan iş parçacığı yalnızca – yotamoo