summaryrefslogtreecommitdiff
path: root/vcl/headless/svpinst.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/headless/svpinst.cxx')
-rw-r--r--vcl/headless/svpinst.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index d5caadeefcaf..77b9ba580321 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -62,7 +62,7 @@ bool SvpSalInstance::isFrameAlive( const SalFrame* pFrame ) const
SvpSalInstance* SvpSalInstance::s_pDefaultInstance = nullptr;
-#ifndef ANDROID
+#if !defined(ANDROID) && !defined(IOS)
static void atfork_child()
{
@@ -82,11 +82,13 @@ SvpSalInstance::SvpSalInstance( SalYieldMutex *pMutex ) :
m_aTimeout.tv_usec = 0;
m_nTimeoutMS = 0;
+#ifndef IOS
m_pTimeoutFDS[0] = m_pTimeoutFDS[1] = -1;
CreateWakeupPipe(true);
+#endif
if( s_pDefaultInstance == nullptr )
s_pDefaultInstance = this;
-#ifndef ANDROID
+#if !defined(ANDROID) && !defined(IOS)
pthread_atfork(nullptr, nullptr, atfork_child);
#endif
}
@@ -95,10 +97,13 @@ SvpSalInstance::~SvpSalInstance()
{
if( s_pDefaultInstance == this )
s_pDefaultInstance = nullptr;
-
+#ifndef IOS
CloseWakeupPipe(true);
+#endif
}
+#ifndef IOS
+
void SvpSalInstance::CloseWakeupPipe(bool log)
{
if (m_pTimeoutFDS[0] != -1)
@@ -158,6 +163,8 @@ void SvpSalInstance::CreateWakeupPipe(bool log)
}
}
+#endif
+
void SvpSalInstance::PostEvent(const SalFrame* pFrame, ImplSVEvent* pData, SalEvent nEvent)
{
{
@@ -206,7 +213,9 @@ void SvpSalInstance::deregisterFrame( SalFrame* pFrame )
void SvpSalInstance::Wakeup()
{
+#ifndef IOS
OSL_VERIFY(write (m_pTimeoutFDS[1], "", 1) == 1);
+#endif
}
bool SvpSalInstance::CheckTimeout( bool bExecuteTimers )