In the case of synchronous execution, the return value is the exit code of
the process (which terminates by the moment the function returns) and will be
$-1$ if the process couldn't be started and typically 0 if the process
-terminated successfully.
+terminated successfully. Also, while waiting for the process to
+terminate, wxExecute will call \helpref{wxYield}{wxyield}. The caller
+should ensure that this can cause no recursion, in the simples case by
+calling \helpref{wxEnableTopLevelWindows(FALSE)}{wxenabletoplevelwindows}.
For asynchronous execution, however, the return value is the process id and
zero value indicates that the command could not be executed.
<wx/utils.h>
-\membersection{::wxSafeYield}{wxsafeyield}
+\membersection{::wxSafeYield}\label{wxsafeyield}
\func{bool}{wxSafeYield}{\param{wxWindow*}{ win = NULL}}
<wx/utils.h>
-\membersection{::wxEnableTopLevelWindows}{wxenabletoplevelwindows}
+\membersection{::wxEnableTopLevelWindows}\label{wxenabletoplevelwindows}
\func{void}{wxEnableTopLevelWindow}{\param{bool}{ enable = TRUE}}