// wakeup handling
// ----------------------------------------------------------------------------
-void wxWakeUpPipe::WakeUp()
+void wxWakeUpPipe::WakeUpNoLock()
{
- wxCriticalSectionLocker lock(m_pipeLock);
-
// No need to do anything if the pipe already contains something.
if ( !m_pipeIsEmpty )
return;
// got wakeup from child thread, remove the data that provoked it from the
// pipe
- wxCriticalSectionLocker lock(m_pipeLock);
-
char buf[4];
for ( ;; )
{
// The pipe is empty now, so future calls to WakeUp() would need to write
// to it again.
m_pipeIsEmpty = true;
-
- // writing to the wake up pipe will make wxConsoleEventLoop return from
- // wxFDIODispatcher::Dispatch() it might be currently blocking in, nothing
- // else needs to be done
}