Wait for a process to finish.
Defined in <SDL3/SDL_process.h>
bool SDL_WaitProcess(SDL_Process *process, bool block, int *exitcode);
SDL_Process * | process | The process to wait for. |
bool | block | If true, block until the process finishes; otherwise, report on the process' status. |
int * | exitcode | a pointer filled in with the process exit code if the process has exited, may be NULL. |
(bool) Returns true if the process exited, false otherwise.
This can be called multiple times to get the status of a process.
The exit code will be the exit code of the process if it terminates normally, a negative signal if it terminated due to a signal, or -255 otherwise. It will not be changed if the process is still running.
If you create a process with standard output piped to the application (pipe_stdio
being true) then you should read all of the process output before calling SDL_WaitProcess(). If you don't do this the process might be blocked indefinitely waiting for output to be read and SDL_WaitProcess() will never return true;
This function is not thread safe.
This function is available since SDL 3.1.3.