[OSy] Thread2 test spravnosti

Vlastimil Babka babka at dsrg.mff.cuni.cz
Thu Nov 6 12:19:39 CET 2008


Martin Suchan wrote:
> Zdravim,
> mel bych dotaz ke spravnosti vyhodnocovani testu thread2
> konec vypisu tohoto testu u nas vypada priblizne takto:
> 
> ...Detaching thread...
> ...Trying to join the thread...
> ...Trying to detach the thread...
> ...Killing thread...
> ...Test passed...
> 
> Cycles: 45030882
> 
> Failure: Test tests/as1/thread2/test.c
> 
> Na konci se namisto ocekavaneho "Test passed..." vypise "...Test
> passed...", coz tipuji vyhodnoti bash jako spatny string a test jako
> ze neprosel.
> Chtel bych se tedy zeptat, zda to je skutecna chyba o velikosti spise
> formality, nebo je neco spatne na nasi strane.

Dobry den,

mate pravdu ze bash to vyhodnoti spatny string a v testu je race
condition, kdy mezi vypsanim "Killing thread...\n" a samotnym provedenim
thread_kill muze v hlavnim vlanku muze byt druhe, testove vlakno zrovna
probuzeno a vypsat tecku. Za upozorneni dekujeme, napravit to lze snadno
pridanim newline na zacatek, radek 124 by tedy obsahoval prikaz printk
("\nTest passed...\n");

Nicmene se mi zda zvlastni, ze ve vasem pripade testove vlakno stihne
vypsat 3 tecky, a tedy se dvakrat na pul sekundy uspat a probudit driv,
nez je zabito. Zadna dalsi aktivni vlakna uz nebezi a tedy nevidim duvod
proc by se thread_kill v hlavnim vlakne nemel provest drive...

Vlastimil Babka




More information about the NSWI004 mailing list