cteni ze socketu
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Pondělí Listopad 18 21:36:57 CET 2002
On Wed, 13 Nov 2002, Petr Baudis wrote:
> Doporucuji zkusit deklarovat timeout_flag s modifikatorem "volatile",
To bude asi ono. Kompilator neni povinen si domyslet (pokud nedostane
volatile), ze by urcitou promennou mohl zmenit nekdo cizi (jiny thread,
hardware, signal handler), a tudiz je opravnen z kodu typu:
x = 0;
while (...) {
...
if (x == 1) break; (*)
...
}
kde vyteckovane casti nemeni hodnotu x, pri optimalizaci zcela odstranit
prikaz oznaceny (*). GCC 3 ma uz pomerne agresivni optimalizator, ktery
takove veci rutinne provadi.
Proste uziti volatile je v teto situaci povinne.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux