[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