From: Burak DEMIRKOL (burak.demirkol@isoft.com.tr)
Date: Thu 18 Nov 2004 - 18:11:21 EET
Yok o olabilir neden olmasın bana sadece gereksiz yere diskte fiziksel olarak dosya oluşturmak kötü bi yöntem gibi geldi sizcede öle değilmi? Ben hiç bir yeri göstermeyen ve bi şey ifade etmeyen dummy bir descriptör varmıdır acaba diye düşündümde bulamadım. /dev/null da olmayınca artık ya fifo ya pipe ya da başka bişi bulurum bu iş için.
Bu arada select fonksiyonu ilgili enteresan bir soru daha geldi aklıma. Select fonksiyonu sadece ona verdiğimiz descriptörlerimi baz alıyor acaba? Mesela "a.dat" dosyasını farklı 2 process kullanıyor olsun. Ama neticede bu iki process farklı iki dosya descriptörü ile aynı dosyaya ulaşıcak. Çünkü bildiğim kadarıyla dosya descriptörleri process tablosunda ve o process e özgü. Yani aynı dosyayı kullanan iki farklı process'e ait farklı dosya descriptörleri olabilir. Bu durumda diyelim diğer process de biri o dosyaya yazma yaptığında benim processimdeki select fonksiyonu bu durumdan etkilenirmi acaba? Bana sanki sadece select fonksiyonuna verilen descriptörler ile dosyaya yazma yapıldığında select fonksiyonundan çıkar gibi geldi. O yüzden /dev/null kullanmıştım. Ama gördüğüm kadarıyla o dosya her zaman okumaya ve yazmaya hazır durumda ve select fonksiyonunu hiç bekletmiyor.
Burak DEMİRKOL
Yazılım Geliştirme Uzmanı - ISOFT
Mihribat Cad. Eryılmaz Plaza No:223 Kat 5
34810 Kavacık İstanbul - Türkiye
Tel +90 216 413 5000 Pbx
Fax +90 216 413 7377
e-mail burak.demirkol@isoft.com.tr
-----Original Message-----
From: linux-programlama-bounces@liste.linux.org.tr [mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of Ali Alphan Bayazit
Sent: Thursday, November 18, 2004 6:03 PM
To: linux-programlama@liste.linux.org.tr
Subject: Re: [Linux-programlama] select
On Thu, 2004-11-18 at 17:37 +0200, Burak DEMIRKOL wrote:
>
> Selam;
>
Merhaba,
>
>
> select fonksiyonu ile ilgili bir sorum var.
>
>
>
> Bir soket descriptoru 30 sn timeout süresi ile read ile okumak için
> bekletiyorum. Sokete yazıldığında selectten düşüyorum ve herşey normal
> ancak select fonksiyonunu bazı durumlarda manuel olarak sonlandırmak
> ta istiyorum. Bunun için select fonksiyonuna dummy bir file
> descriptoru daha vermem lazım ve istediğim bir noktadan dummy file a
> yazarak select ten çıkarabilirim. Ancak sırf bu iş için disk üzerinde
> fiziksel olarak bir dosya oluşturmak istemiyorum ve bana iyi bir
> yöntem gibi gelmiyor. Aklıma /dev/null dosyası geldi. Open()
> fonksiyonu ile o dosyayı açıp onun descriptörünü select fonksiyonuna
> verdim ancak bu seferde select fonksiyonundan hemen çıkıyor ve
> FD_ISSET( dummyFile ) true dönüyor. Bu iş nasıl bir yöntem
> kullanabilirim?
>
Fifo isinize yaramiyor mu?
Her ne kadar dosya yaratmak istemeseniz de,
yer kaplamayan bir fifo guzel bir cozum gibi gorunuyor.
-- A. Alphan Bayazit _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama