diff options
author | Tor Lillqvist <tml@collabora.com> | 2019-05-13 14:22:20 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2019-05-16 14:35:28 +0300 |
commit | f2d660231bb8f574a6e352144e790764ebd9f608 (patch) | |
tree | eaf6986fd6e0a21355e1693bf2a6f8458cf84d60 /vcl/headless | |
parent | e55b3ad2709aa17582b84db618126c47c63a8831 (diff) |
Using the m_FeedbackFDs is now apparently necessary also on iOS
The below commit message is relevant for the behaviour fixed by this
change in the Collabora branch cp-6.0 (or core) and collabora-online-4
(of online). The behaviour here in master is broken in different ways,
though, and I am not entirely sure whether this change fixes anything
here. But let's apply it here, too, for consistency.
Until recently we had managed without them on iOS, but that changed
with the recent "Unipoll" work, I think. (Without this change, the iOS
app now runs into assertion failures early on. But note that this
change is not enough to make it work fully again.)
Change-Id: I09d25326ba73ce897da5c91f30530f5b3d5fd272
Diffstat (limited to 'vcl/headless')
-rw-r--r-- | vcl/headless/svpinst.cxx | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx index 74900df2471f..02e332b92fbf 100644 --- a/vcl/headless/svpinst.cxx +++ b/vcl/headless/svpinst.cxx @@ -77,9 +77,7 @@ SvpSalInstance::SvpSalInstance( std::unique_ptr<SalYieldMutex> pMutex ) m_nTimeoutMS = 0; m_MainThread = osl::Thread::getCurrentIdentifier(); -#ifndef IOS CreateWakeupPipe(true); -#endif if( s_pDefaultInstance == nullptr ) s_pDefaultInstance = this; #if !defined(ANDROID) && !defined(IOS) @@ -91,13 +89,9 @@ SvpSalInstance::~SvpSalInstance() { if( s_pDefaultInstance == this ) s_pDefaultInstance = nullptr; -#ifndef IOS CloseWakeupPipe(true); -#endif } -#ifndef IOS - void SvpSalInstance::CloseWakeupPipe(bool log) { SvpSalYieldMutex *const pMutex(dynamic_cast<SvpSalYieldMutex*>(GetYieldMutex())); @@ -153,8 +147,6 @@ void SvpSalInstance::CreateWakeupPipe(bool log) } } -#endif - void SvpSalInstance::TriggerUserEventProcessing() { Wakeup(); @@ -343,11 +335,7 @@ void SvpSalYieldMutex::doAcquire(sal_uInt32 const nLockCount) m_bNoYieldLock = true; bool const bEvents = pInst->DoYield(false, request == SvpRequest::MainThreadDispatchAllEvents); m_bNoYieldLock = false; -#ifdef IOS - (void)bEvents; -#else write(m_FeedbackFDs[1], &bEvents, sizeof(bool)); -#endif } } while (true); @@ -507,11 +495,9 @@ bool SvpSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) : SvpRequest::MainThreadDispatchOneEvent); bool bDidWork(false); -#ifndef IOS // blocking read (for synchronisation) auto const nRet = read(pMutex->m_FeedbackFDs[0], &bDidWork, sizeof(bool)); assert(nRet == 1); (void) nRet; -#endif if (!bDidWork && bWait) { // block & release YieldMutex until the main thread does something |