select bug?

Stanislav Meduna stano na trillian.eunet.sk
Neděle Září 26 09:44:41 CEST 1999


On 25 Sep 1999 16:06:19 GMT, Mikulas Patocka wrote:

: Chovani funkce select na pipy v linuxu mi prijde podivne.

Hm - zaujimave. Chvilu som sa s tym hral a select
vrati true skutocne az vtedy, ked je _vsetko_
z pipy precitane. T.j. ak zapisem 2 bytes
a precitam 1, select vrati 0. Az precitam
dalsi, bude tam 1.

Skusil som to aj medzi procesmi - funguje
to rovnako.

Ako "dovod" tipujem, ze zapisy do velkosti PIPE_BUF
musia byt atomicke, v jadre je iba buffer tejto
dlzky a niekomu sa mozno nechcelo sa s tym
babrat (uz som sa tam raz vrtal, ked som nahanal
mrznuci Netscape).

IMHO jasny kandidat na otazku do linux-kernel.
Poslete ju Vy, alebo mam pripadnu blamaz
riskovat sam? :-)

Mohol by to nejaky bleeding-edge clovek skusit
na 2.3.x?

: Neni to bug? (na druhou stranu mi pripada divne, ze si
: toho nikdo nevsiml - je to tak i ve verzi 2.0)

No ono to asi ziadny standard neporusuje. Vas programcek,
ktory to testuje v jednom procese a tvrdo synchronne,
nie je typickym pouzitim, takze je kludne mozne,
ze si to nikto nevsimol.

Bug to ale podla mna je - pokial si dva procesy posielaju
data po kuskoch, je vysledkom nutnost context switchu
aj tam, kde by nebol treba.

Zdravi
-- 
			Stano



Další informace o konferenci Linux