--- libelwix/src/pio.c 2013/12/05 14:56:42 1.1.2.1 +++ libelwix/src/pio.c 2013/12/05 15:04:20 1.1.2.2 @@ -3,7 +3,7 @@ extern char **environ; -pio_pid_t pio_pidlist = = SLIST_HEAD_INITIALIZER(pio_pidlist); +pio_pid_t pio_pidlist = SLIST_HEAD_INITIALIZER(pio_pidlist); static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; #define THREAD_LOCK() if (__isthreaded) pthread_mutex_lock(&pidlist_mutex) @@ -21,11 +21,10 @@ static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_I FILE * e_popen(const char *command, const char *type, pid_t *ppid) { - struct tagPIOPID *cur; + struct tagPIOPID *cur, *p; FILE *iop; int pdes[2], pid, twoway, cloexec; char *argv[4]; - struct pid *p; cloexec = strchr(type, 'e') != NULL; /* @@ -44,7 +43,7 @@ e_popen(const char *command, const char *type, pid_t * if ((cloexec ? pipe2(pdes, O_CLOEXEC) : pipe(pdes)) < 0) return (NULL); - if ((cur = e_malloc(sizeof(struct pid))) == NULL) { + if (!(cur = e_malloc(sizeof(struct tagPIOPID)))) { close(pdes[0]); close(pdes[1]); return (NULL); @@ -137,7 +136,7 @@ e_popen(const char *command, const char *type, pid_t * int e_pclose(FILE *iop) { - struct pid *cur, *last = NULL; + struct tagPIOPID *cur, *last = NULL; int pstat; pid_t pid; @@ -150,11 +149,11 @@ e_pclose(FILE *iop) break; last = cur; } - if (cur == NULL) { + if (!cur) { THREAD_UNLOCK(); return (-1); } - if (last == NULL) + if (!last) SLIST_REMOVE_HEAD(&pio_pidlist, next); else SLIST_REMOVE_AFTER(last, next); @@ -163,7 +162,7 @@ e_pclose(FILE *iop) fclose(iop); do { - pid = wait4(cur->pid, &pstat, 0, (struct rusage *)0); + pid = wait4(cur->pid, &pstat, 0, NULL); } while (pid == -1 && errno == EINTR); e_free(cur);