EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ C/C++ ]

"Ana süreçte açılan dosyayı alt süreçte kapama" - Barış Şimşek - (2005-01-16 17:04:51)   [3488]

Ana süreçte bir dosya açıldıktan sonra fork yapılıp bir alt süreç oluşturulsun. Bu durumda ana süreçteki bütün açık I/O işlemlerine ait bilgiler miras yolu ile alt sürece geçer. Eğer alt süreç içerisinde bu dosyalardan biri kapatılırsa ana süreçteki referanslar kaldırılmadığından dosya tanımlayıcısı hala açık gözükür.

Örneğin ana süreç accept() ile UNIX soket dinliyor olsun. Bağlantı (connect) geldiğinde fork edilip alt süreçte bir takım işler yapılsın. Alt süreç işi bittiğinde close ile soketi kapatsa dahi "netstat -an" ile baktığınızda hala soket bağlantısını göreceksiniz.

Bu nedenle alt süreçte kapatılan dosya, ana süreçte de kapatılmalıdır.


Arkadaşıma gönder , Ana Sayfa