cid#1607861 Data race condition
Change-Id: Ib58f6613b98b2b778c9894359fe92b6fcf33298d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174293 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
parent
ccef1a40d4
commit
9a2f11cc1f
1 changed files with 6 additions and 2 deletions
|
@ -38,7 +38,7 @@ namespace dbaui
|
||||||
class OAsynchronousLink final
|
class OAsynchronousLink final
|
||||||
{
|
{
|
||||||
Link<void*,void> m_aHandler;
|
Link<void*,void> m_aHandler;
|
||||||
std::mutex m_aEventSafety;
|
mutable std::mutex m_aEventSafety;
|
||||||
std::mutex m_aDestructionSafety;
|
std::mutex m_aDestructionSafety;
|
||||||
ImplSVEvent * m_nEventId;
|
ImplSVEvent * m_nEventId;
|
||||||
DECL_LINK(OnAsyncCall, void*, void);
|
DECL_LINK(OnAsyncCall, void*, void);
|
||||||
|
@ -50,7 +50,11 @@ namespace dbaui
|
||||||
OAsynchronousLink( const Link<void*,void>& _rHandler );
|
OAsynchronousLink( const Link<void*,void>& _rHandler );
|
||||||
~OAsynchronousLink();
|
~OAsynchronousLink();
|
||||||
|
|
||||||
bool IsRunning() const { return m_nEventId != nullptr; }
|
bool IsRunning() const
|
||||||
|
{
|
||||||
|
std::unique_lock aEventGuard(m_aEventSafety);
|
||||||
|
return m_nEventId != nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void Call( void* _pArgument = nullptr );
|
void Call( void* _pArgument = nullptr );
|
||||||
void CancelCall();
|
void CancelCall();
|
||||||
|
|
Loading…
Reference in a new issue