[OSy] join_timeout() s 0 timeoutem

David Matousek david at matousec.com
Wed Oct 31 19:45:57 CET 2007


Ahoj,

Zde bych pripomenul poznamku kolegy Deckeho, kterou zodpovedel jeden muj predchozi dotaz.
Byla ve smyslu: Kdyz to neni jasne, rozhoduje chovani, ktere ocekavaji testy.

A tim by to uz melo byt jasne :)


DM



Katerina Opocenska wrote:
> Dobry den a ahoj,
> 
> predem se omlouvam za asi hloupy dotaz, ale chtela bych, aby mi veci sedely a ne jen, aby to nejak zbehlo :-).
> 
> Jde o test Thread1, ve kterem se vyskytuje toto:
> result = thread_join_timeout (thread_b, 0);
> 
> V zadani join_timeout() mame:
> "Varianta timeout ceka na ukonceni vlakna nejdele usec mikrosekund"
> 
> V tomto pripade tedy ceka NEJDELE 0 mikrosekund, coz bych oznacila ekvivalenti vyrazu "neceka".
> 
> Tedy prijde mi spravne, kdykoliv timeout = 0 (a identifikace vlakna je platna), tak muze join_timeout() vratit okamzite ETIMEOUT, protoze pred koncem intervalu delky 0 se opravdu nelze konce zadneho vlakna "dockat".
> 
> Na druhou stranu vidim, ze takto to byt nemuze, jelikoz by v testu nikdy neskoncil okolni cyklus vedouci ke kyzenemu "Test passed".
> 
> [V momente, kdy navic thread_b dobehne, uz neni platna ani jeho identifikace v join_timeout(), jelikoz uz toto vlakno neni (a nikdo na nej necekal, takze opravdu neni ani jako zombie) a tedy opet se nevrati EOK, ale EINVAL.]
> 
> Za jakekoliv osvetlujici reakce predem moc dekuji,
> 
> Kate
> 
> 
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy




More information about the NSWI004 mailing list