extern int verbose;
+
+/****************************************************************************
+wait for a process to exit, calling io_flush while waiting
+****************************************************************************/
+void wait_process(pid_t pid, int *status)
+{
+ while (waitpid(pid, status, WNOHANG) == 0) {
+ sleep(1);
+ io_flush();
+ }
+ *status = WEXITSTATUS(*status);
+}
+
static void report(int f)
{
time_t t = time(NULL);
size_t strlcat(char *d, const char *s, size_t bufsize);
#endif
+#ifndef WEXITSTATUS
+#define WEXITSTATUS(stat) ((int)(((stat)>>8)&0xFF))
+#endif
+
#define exit_cleanup(code) _exit_cleanup(code, __FILE__, __LINE__)
return(TimeBuf);
}
-
-/****************************************************************************
- like waitpid but does the WEXITSTATUS
-****************************************************************************/
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(stat) ((int)(((stat)>>8)&0xFF))
-#endif
-void wait_process(pid_t pid, int *status)
-{
- waitpid(pid, status, 0);
- *status = WEXITSTATUS(*status);
-}
-
-
#ifdef __INSURE__
#include <dlfcn.h>