Add child_wait() function

Can be used to wait for the termination of a child process.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2011-07-02 07:33:26 +02:00
parent 6e2b00096d
commit 7e61b3de06
2 changed files with 17 additions and 0 deletions

View File

@ -880,6 +880,7 @@ void str_toupper (char *);
void file_close (FILE *, const char *);
void psleep (unsigned);
int fork_exec (int *, int *, const char *, char *const *);
int child_wait (int *, int *, int);
/* vars.c */
extern int col, row;

View File

@ -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;
}