PipedProcess for linux:
- eliminates polling of stdout and stderr streams by using listener threads and epoll(7) API
Additionally:
CompilerGCC::
- removed polling for running processes, used to call PipedProcess::HasInput() method,
- eliminated ::OnIdle() and ::OnTimer() events,
- re-using PipedProcess instances for compilation/linking jobs (fast start),
- tokenizing data from multiple input streams in parallel (off-loading main event loop),
DebuggerGDB::
- eliminated ::OnIdle() and ::OnTimer() - 50 events per second,
- added ::OnConsoleClosed() event, replacing ::CheckIfConsoleIsClosed(),
ToolsManager::
- eliminated ::OnIdle() events,
Version 2 of this patch:
- Fixed: Removed unused variables: ppStream::Emtx PipedProcess::m_evtline,
- Fixed: ppListenerThread::Entry(): no need to set thread name after restart - CompilerGCC does not change the process index,
- Fixed: PipedProcess::Launch(): no need to close strmxxx->m_fds on error,
- Fixed few comments