Coroutines aneb thready bez threadu

Martin Mares mj na ucw.cz
Úterý Říjen 6 21:54:40 CEST 1998


> Rekl bych, ze kreativni vyuziti funkce sigaltstack() by mohlo pomoci.

   To by mozna slo...
 
> Nemusi? A kde si korutina uchovava svuj vlastni stav? Spis je rozdil
> v tom, jak je vhodne zasobnik implementovat.

   Klasicke korutiny na lokalni promenne vubec zasobnik nepouzivaji --
veskery lokalni prostor je alokovan z haldy.
 
> Hm? longjmp() samotny nic nenici, problem je v tom, ze takovy stav muze
> ukazovat na oblast zasobniku, ktera byla (nebo v blizke dobe bude)
> prepsana necim jinym

   Presne tak ... a to neni rozumne mozna portabilne zaridit :-|
 
> A co navratove adresy?

   Jestlize prohlasim naalokovane misto za novy zasobnik, neni v nich
zadny problem.

> Krome toho uplne zruseni zasobniku jako takoveho zpusobi nepouzitelnost vsech
> knihoven

   To bohuzel ano, stejne jako spousta jinych uzitecnych veci (-mregparm ci
-ffixed-XX budtez klasickym prikladem).

> a take to bude nejspis o poznani pomalejsi.

   Ne tak moc -- nepromyslel jsem si to do detailu, ale odhaduji, ze cca
10 instrukci na call/return v beznem pripade by melo plne stacit.

				Have a nice fortnight
-- 
Martin `MJ' Mares   <mj na ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"Quote of the day: '"


Další informace o konferenci Linux