Re:[OSy] thread_wakeup

Tomas Pop Tomas.Pop at seznam.cz
Thu Nov 9 22:31:02 CET 2006


Zdravim, 

V nasi verzi toho nijak neosetrujeme, vlakno muze probudit kdokoli, kdo na nej ma handle, ale to je v v okamziku, ktery tady zminujes obvykle prave jen fronta synchronizacniho primitiva.

Krasnou bezesnou noc vsem.

> ------------ Původní zpráva ------------
> Od: Tomas Tuma <tom.tuma at seznam.cz>
> Předmět: [OSy] thread_wakeup
> Datum: 09.11.2006 22:22:49
> ----------------------------------------
> Zdravim,
> 
> v zadani je uvedeno:
> -------------------------------
>  * int thread_wakeup (thread_t thr)
> 
>       Funkce odblokuje zadane vlakno. Volajici vlakno pokracuje v behu,
>       neni v dusledku tohoto volani preplanovano. Funkce vraci EINVAL
>       pokud je identifikace vlakna neplatna, jinak EOK.
> ------------------------------
> 
> V nasem kernelu jsou vlakna uspana na synchronizacnich primitivech v suspended
> stavu a jsou probouzena pomoci thread_wakeup. Pokud by vsak thread_wakeup
> na takto uspane vlakno zavolal nekdo jiny nez je synchronizacni primitivum,
> nemelo by se podle meho nazoru takove vlakno probudit a volajicimu by se mela 
> ohlasit nejaka chyba - vlakno je uspane, ale nechce byt vzbuzeno jinak nez samo
> ocekava.
> 
> Vyse uvedena definice thread_wakeup to neumoznuje. Je dobry napad si zadani
> "rozsirit"? Nebo se jedna o prapodivne specifikum naseho kernelu?
> 
> Pekny vecer vsem
> Tom
> 
> _______________________________________________
> OSy mailing list
> OSy at nenya.ms.mff.cuni.cz
> http://nenya.ms.mff.cuni.cz/mailman/listinfo/osy
> 
> 
> 



More information about the NSWI004 mailing list