diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-07-02 07:33:26 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-07-02 10:15:36 +0200 |
commit | 7e61b3de06a190aa9e84b3fc0070ee27e57770d1 (patch) | |
tree | f7abcb721a0e0fed838e06643909330684d6a84d /src/utils.c | |
parent | 6e2b00096dcf2733b58e82cda3510ed638983a20 (diff) | |
download | calcurse-7e61b3de06a190aa9e84b3fc0070ee27e57770d1.zip |
Add child_wait() function
Can be used to wait for the termination of a child process.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/utils.c')
-rw-r--r-- | src/utils.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c index 61c87a1..75e702b 100644 --- a/src/utils.c +++ b/src/utils.c @@ -43,6 +43,7 @@ #include <sys/types.h> #include <errno.h> #include <fcntl.h> +#include <sys/wait.h> #include "calcurse.h" @@ -789,3 +790,18 @@ fork_exec (int *pfdin, int *pfdout, const char *path, char *const *arg) } return pid; } + +/* Wait for a child process to terminate. */ +int +child_wait (int *pfdin, int *pfdout, int pid) +{ + int stat; + + if (pfdin) + close (*pfdin); + if (pfdout) + close (*pfdout); + + waitpid (pid, &stat, 0); + return stat; +} |