[OSy] Dealokovanie detached vlakna po normalnom skonceni
Michal Klempa
michal.klempa at gmail.com
Thu Nov 4 10:11:06 CET 2010
Zdravim,
vlakno sa pocas behu stalo detached, jeho main { } normalne skonci. V
takom pripade ma kernel uvolnit strukturu thread_t a pamat urcenu na
stack vlakna.
Prvy approach -> miesto main { } daj do panenskeho kontextu vlakna moju
funkciu execute:
execute {
thread->main(thread->data);
disable_int
free(thread->stack);
free(thread);
schedule();
}
Tak na to pozeram a nechapem, co sa stane pri switch_cpu_context.
Execute bezi v kontexte vlakna, ktore prave rusim, a ja pamat kde je
tento kontext ulozim. Takze hoci ju uvolnim, ulozi tam
switch_cpu_context este moj kontext ako by to ukladal na vrch zasobnika?
Tu pamat nikto nestihne medzicasom pouzit... snad?
Je toto ten easy approach, ktory ocakavate? Aby som zas nevymyslal
hardcore veci:-)
Dik. Michal Klempa
More information about the NSWI004
mailing list