[OSy] thread_wakeup
Tomas Tuma
tom.tuma at seznam.cz
Thu Nov 9 22:22:30 CET 2006
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
More information about the NSWI004
mailing list