X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9dea36ef6d117e0562f0079345a77ff1696d3a49..2654f7e423bb773ca52c8b465c6ec9abfa398e45:/src/os2/utilsexc.cpp?ds=sidebyside diff --git a/src/os2/utilsexc.cpp b/src/os2/utilsexc.cpp index f80036e7d4..f03454c49a 100644 --- a/src/os2/utilsexc.cpp +++ b/src/os2/utilsexc.cpp @@ -6,7 +6,7 @@ // Created: 10/17/99 // RCS-ID: $Id$ // Copyright: (c) David Webster -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx.h". @@ -26,12 +26,16 @@ #include "wx/os2/private.h" #define PURE_32 +#ifndef __EMX__ #include #include #include +#endif #include -#include +#ifdef __EMX__ +#include +#endif #include #include @@ -42,6 +46,7 @@ #include #include + // this message is sent when the process we're waiting for terminates #define wxWM_PROC_TERMINATED (WM_USER + 10000) @@ -55,7 +60,7 @@ struct wxExecuteData public: ~wxExecuteData() { - cout << "Closing thread: " << endl; +// cout << "Closing thread: " << endl; DosExit(EXIT_PROCESS, 0); } @@ -73,7 +78,7 @@ static ULONG wxExecuteThread( ULONG ulRc; PID vPidChild; - cout << "Executing thread: " << endl; +// cout << "Executing thread: " << endl; ulRc = ::DosWaitChild( DCWA_PROCESSTREE ,DCWW_NOWAIT @@ -125,17 +130,15 @@ MRESULT APIENTRY wxExecuteWindowCbk( return 0; } -extern wxChar wxPanelClassName[]; - long wxExecute( const wxString& rCommand -, bool bSync +, int flags , wxProcess* pHandler ) { if (rCommand.IsEmpty()) { - cout << "empty command in wxExecute." << endl; +// cout << "empty command in wxExecute." << endl; return 0; } @@ -145,12 +148,10 @@ long wxExecute( ULONG ulExecFlag; PSZ zArgs = NULL; PSZ zEnvs = NULL; - ULONG ulWindowId; APIRET rc; - PFNWP pOldProc; TID vTID; - if (bSync) + if (flags & wxEXEC_SYNC) ulExecFlag = EXEC_SYNC; else ulExecFlag = EXEC_ASYNCRESULT; @@ -168,14 +169,14 @@ long wxExecute( wxLogSysError(_("Execution of command '%s' failed with error: %ul"), rCommand.c_str(), rc); return 0; } - cout << "Executing: " << rCommand.c_str() << endl; +// cout << "Executing: " << rCommand.c_str() << endl; // Alloc data wxExecuteData* pData = new wxExecuteData; pData->vResultCodes = vResultCodes; pData->hWnd = NULLHANDLE; - pData->bState = bSync; - if (bSync) + pData->bState = (flags & wxEXEC_SYNC) != 0; + if (flags & wxEXEC_SYNC) { wxASSERT_MSG(!pHandler, wxT("wxProcess param ignored for sync execution")); pData->pHandler = NULL; @@ -200,7 +201,7 @@ long wxExecute( // the process still started up successfully... return vResultCodes.codeTerminate; } - if (!bSync) + if (!(flags & wxEXEC_SYNC)) { // return the pid // warning: don't exit your app unless you actively @@ -222,7 +223,7 @@ long wxExecute( long wxExecute( char** ppArgv -, bool bSync +, int flags , wxProcess* pHandler ) { @@ -234,7 +235,7 @@ long wxExecute( } sCommand.RemoveLast(); return wxExecute( sCommand - ,bSync + ,flags ,pHandler ); }