RE: [Linux-programlama] select

---------

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

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Fri 19 Nov 2004 - 10:12:24 EET


Selamlar..

> Düşündümde evet en mantıkılısı pipe kullanmam. Sana katılıyorum. Zaten yaptığım şey bir nevi kendi processim içinde haberleşme olduğu için isimsiz pipe bile işimi görür. Hem select den çıkarmak için kullanırım hemde selectten neden çıkmış diye pipe ın içini okuyup değişik kontroller uygulayabilirim.

Aslında en mantıklısı değil. select() ile beklerken timeout kadar süre
resmen donarsınız. Uygulamanız belki bundan etkilenmeyebilir,
bilemiyorum, ama bir ftp/http vs. clienti bundan cok kotu etkilenebilir.

Burada izlenmesi gereken yol, Asynchronous Socket I/O olacaktır. Soketi
fcntl ile (FASYNC) async hale getirip, bir SIGIO/SIGURG handler kurulur.
Bu handler içinde gereken yapılır. Hatta bu bölüm bir thread olabilir
vs. Sonuçta programınız IDLE halinde iken dilediğini yapmakta özgür
olur. Eh, buraya da bir while(1) koyup CPU'yu %99 yükle ısıtmakta
kabildir. Ama yapabileceğiniz bir sürü iş bulursunuz sanıyorum bu
çevrimde.. Fakat, bilhassa X11 uygulamaları gibi event bekleyen
uygulamalar için bu yöntem çok daha kullanışlıdır.

Saygı ve sevgiler..

_______________________________________________
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.