pulse: Protect the PulseSupport object creation by a mutex.
authorColin Guthrie <cguthrie@mandriva.org>
Tue, 17 Aug 2010 15:02:29 +0000 (16:02 +0100)
committerColin Guthrie <cguthrie@mandriva.org>
Sat, 23 Oct 2010 14:17:28 +0000 (15:17 +0100)
commit66a651d2b70121768bca23c0e656bee735d8e794
treed21c2768edae883bce90d2af6e8f50dcce5b3f90
parent65436273996fbdb2419577a74ba9b5c8180063f2
pulse: Protect the PulseSupport object creation by a mutex.

Under certain circumstances, two Phonon objects may be created
at the same time by different threads. The PulseSupport object
is a singleton and thus only one instance exists. When the object
is created it may take some time to perform it's probe.

For that reason, we must lock a mutex prior to actually creating
the object and check again after obtaining the lock that it was
not created while waiting for the lock. This should ensure
that all clients wait for the object to be fully loaded prior
to using it and that only one instance will be created.
phonon/pulsesupport.cpp