On Fri, 2011-05-27 at 12:34 +0200, Bjoern Michaelsen wrote:
> Hi Caolán,
>
> On Fri, 27 May 2011 11:02:28 +0100
> Caolán McNamara wrote:
>
> > So the original code doesn't do what it apparently thought it was
> > doing of using a double-check lock, but ends up using a unconditional
> > mutex lo
On Fri, 27 May 2011 12:34:01 +0200
Bjoern Michaelsen
wrote:
> Unless a compiler does not keep static variables threadsafe and the
> ctor has side effects (I have not looked at that yet).
Ah, forget that. The mutex indeed takes care of that.
Best,
Bjoern
--
https://launchpad.net/~bjoern-micha
Hi Caolán,
On Fri, 27 May 2011 11:02:28 +0100
Caolán McNamara wrote:
> Well, if we look at the original code, given that s_pThrower is just a
> normal local variable set to 0, then we *always* enter the first if,
> and the first if always takes a MutexGuard from the global mutex, so
> we always
On Fri, 2011-05-27 at 10:53 +0200, Bjoern Michaelsen wrote:
> Hi Caolán, all,
>
> Digging deeper, I found ExceptionThrower::get() on the 3.4 branch to:
> a) not using a static variable for s_pThrower thus making the if always
>eval to true.
heh!
> b) not even double-checking s_pThrower afte
Hi Caolán, all,
when looking into
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/745836 which
has by now collected some 20 duplicates, I have more open questions
than answers.
Some disassembling lead to the real point of failure being
(in 3.3.2/3.4 on amd64):
239 OSL_ASSERT( x