RE: [Linux-programlama] select

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

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


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.