[linux] Zatuhnutie programu na write()

Ondrej Jombik nepto na pobox.sk
Úterý Duben 9 18:37:19 CEST 2002


                                        Maxim, 18:36:35
                                        09. april 2002 (utorok)
Zdravim.

	Jeden moj program mi na Linuxe tuhne. Proste z nicoho sa zablokuje 
write() syscall. Ked som to stracoval dostal som zaujimavy vysledok:

...
select(1024, [0 5], [1 4], [], NULL)    = 4 (in [0 5], out [1 4])
read(0, "ody:x:99:99:Nobody:/:\nalias:x:40"..., 5000) = 5000
write(4, "ody:x:99:99:Nobody:/:\nalias:x:40"..., 5000
[tuto to zatuhlo]

	Vsetko by bolo fajn, keby select() nevratil filedescriptor 4 ako out
(viz prvy riadok). Podla man stranky syscallu select() by teda write() na
filedescriptore 4 nemal by v zablokovany. Citujem:

...those in writefds will be watched to see if a write will not block...

	Lenze mne select() vrati vo writefds 4 a na write(4) sa zablokuje.  
Netusite niekto, v com moze byt problem? Nevadi tomu ten read(0) medzi tym?

	=Nepto=
____________________________________________________________________________
Ondrej 'Nepto' Jombik, OS software developer            http://www.platon.sk





Další informace o konferenci linux