[sr-dev] git:master: tm: more cfg framework parameters marked as ATOMIC

Andrei Pelinescu-Onciul andrei at iptel.org
Tue Sep 22 17:40:51 CEST 2009


On Sep 22, 2009 at 17:17, Klaus Darilion <klaus.mailinglists at pernau.at> wrote:
> Hi Andrei!
> 
> What is an ATOMIC parameter?

It means that the config variable can be changed in place. If a variable
is not marked as ATOMIC, the new value will be visible only at the next
message processing cycle in a process (e.g. if I change foo and foo is
not atomic and process 5 is running a route, process 5 will see the new
value for foo only after it finishes its job and starts processing a new
msg; if foo is ATOMIC it will see the change immediately).
It's also an optimization: when an ATOMIC variable changes its value
nothing special has to be done, apart from updating the shared config.
For a non ATOMIC variable a new config is created with the new value and
the global config is replaced with the new one (then when each process
 starts a new processing cycle it will notice the changed global config,
 will release its old config and update its config pointer to the new global
 config).

For more info see doc/cfg.txt.


Andrei



More information about the sr-dev mailing list