Atomic Actions can be nested now, arbitrarily deep (well, ok, only 4.2
billion levels deep). This fixes bug 2314. What this means is that, say,
in FV_View.cpp you have this type of call chain:

void call1()
{
 beginAtomicGlob();

 // do some stuff
 ...

 call someOtherFunction();

 endAtomicGlob();
}

void someOtherFunction ()
{
 beginAtomicGlob ();

 // do some stuff

 endAtomicGlob ();
}

now these get handled properly - i.e. now they're both part of the same
atomic glob instead of what we had before, which honestly should have
segfaulted or not undone properly.

Dom


Reply via email to