[OSy] Kompilovanie testov

Petr Tuma petr.tuma at mff.cuni.cz
Fri Nov 5 11:27:03 CET 2004


> Taky mi prijde optimalizace -O2 pomerne drasticka. Vcera jsem hledal bug,
> a s nejvyssi pravdepodobnosti se mi nasledujici kod:
> timer_start(&tmr);
> current->state = TS_SLEEP;
> while (!expired) {
> 	schedule();
> 	current->state = TS_SLEEP;
> }
> current->state = TS_RUN;
> 
> prelozil na:
> timer_start(&tmr);
> while (!expired) {
> 	current->state = TS_SLEEP;
> 	schedule();
> }
> current->state = TS_RUN;

Predpokladam, ze funkce schedule prepina kontext ? Pokud ano, pak je 
mozna vhodnejsi nekam do ni dat "volatile int foo; foo = 0;" nez davat 
state jako volatile (pokud date state jako volatile, nemuzete si byt 
jisty, jestli se podobna chyba neobjevi na jinem miste s jinou promennou).

Petr Tuma



More information about the NSWI004 mailing list