<div>Dobry den,</div><div><br></div><div>resime s kolegy zpusob, jakym by se mely uvolnovat prostredky vlakna pote, co je na nej zavolana funkce thread_kill. Prostredky jsou mysleny naplanovane (pripadne prave osetrovane) timery, zamknuta synchronizacni primitiva a alokovana pamet. Muj napad je ve funkci thread_kill vlakno zneplatnit nastavenim nejakeho flagu a pote nastavit program counter vlakna na nejakou funkci, ktera by se postarala o uklid prostredku vlakna. Pokud ale bude zrovna vlakno v nejake kriticke sekci zamcene nejakym synchronizacnim primitivem, mohlo by vynuceni odemknuti tohoto primitiva zanechat jadro v nekonzistentnim stavu. Ja ale tvrdim, ze tam, kde by neco takoveho hrozilo, jsou (nebo by mely byt) stejne vypnute interrupty a thread_kill tam toto vlakno nemuze prerusit (at uz diky timer interruptu nebo IPI). Mam pravdu? A je tento pristup k zabijeni vlaken krok spravnym smerem?</div>
<div><br></div><div>Predem dekuji za odpoved.</div><div><br></div><div>Cestmir Houska</div>