Re: [Vala] Volatile keyword in Vala(please answer)
- From: rastersoft <raster rastersoft com>
- To: vala-list gnome org
- Subject: Re: [Vala] Volatile keyword in Vala(please answer)
- Date: Tue, 28 Aug 2012 10:23:17 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
It's supposed that a volatile variable can change "magically" (this is,
being modified by another thread, a device driver...), so the compiler
has to take that into account when doing optimizations.
A crude example in C:
volatile int v=1;
while(v==1) {
sleep(1);
}
(Let's assume that another thread will change the 'v' variable when
whatever-has-to-occur happens). In this example, the "volatile" is
mandatory because, without it, the C compiler probably will transform
that in something like:
if (v==1) {
loop:
sleep(1);
goto loop
}
optimizing the loop and doing the comparison one time, only at the
start, because it sees that the variable isn't being modified inside.
But when you add the "volatile", the C compiler will know that the
variable can be changed from other parts of the code, avoiding that
optimization and comparing the value in each loop.
"volatile" is a reserver keyword in C, so implementing it in Vala would
mean little more than adding it directly in the C source when found in
Vala source.
El 28/08/12 09:14, Mikkel Kamstrup Erlandsen escribió:
On 24 August 2012 17:31, Tal Hadad <tal_hd hotmail com> wrote:
Is volatile keyword supported in Vala? Is it planned?
Few sources say it does, but testing showing it's not.
I asked this question a month ago and no one replay.
Does Jörg Biller include this in Vala?
This question is a bit scarce on detail. What do you expect volatile
to do, and why do you need it?
Cheers,
Mikkel
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
- --
Nos leemos
RASTER (Linux user #228804)
raster rastersoft com http://www.rastersoft.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlA8f/QACgkQXEZvyfy1ha/zvgCgloBpJR6MxRMINNMXaL9cgYVM
mU8AoIV3hGkdvSybTEXiLRKVR3MsBIco
=spbp
-----END PGP SIGNATURE-----
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]