[OSy] Datovy typ thread_t
Jakub Jermar
jakub at jermar.eu
Fri Oct 19 17:56:16 CEST 2007
Andrej Krutak wrote:
> Mozno este jedna vec - malo by byt thread_t "cislo" nejakym sposobom
> dlhodobejsie unikatne alebo je v OK, ak po thread_kill() dalsiemu vytvorenemu
> vlaknu pridelime to iste cislo ako mal ten posledne zabity? Viem si
> predstavit, ze by v takomto pripade mohli vzniknut zaujimave problemy napr.
> ked by vlakna cez thread_join(id) cakali na nieco ine ako mysleli :-)
Kdyz by chtel nekdo joinovat thread pote, co tento thread udela exit,
tak bych to oznacil za logickou chybu. Nejde jen o to, ze se muze
joinout nejaky jiny thread nez ktery byl puvodne myslen, ale dokonce by
se mohl "joinovat" nejaky uplne jiny typ objektu, ktery byl zrovna
naalokovan v pameti uvolnene po puvodnim threadu.
Cili cilem by asi melo byt zamezit tomu, aby mel nekdo referenci na
thread, ktery neexistuje ci nedovolit threadu zemrit dokud je na nej
reference.
Omezeni dopadu takove logicke chyby by bylo mozne zavedenim nejakeho
seznamu platnych threadu. Nevyresilo by to ovsen ten pripad, kdy nove
alokovany objekt by byl take thread.
Jakub
More information about the NSWI004
mailing list