Index: usr.bin/diff/pr.c =================================================================== --- usr.bin/diff/pr.c +++ usr.bin/diff/pr.c @@ -81,19 +81,18 @@ pr->ostdout = dup(STDOUT_FILENO); dup2(pfd[1], STDOUT_FILENO); close(pfd[1]); - close(pfd[1]); - } - close(pfd[0]); - rewind(stdout); - free(header); - pr->kq = kqueue(); - if (pr->kq == -1) - err(2, "kqueue"); - pr->e = xmalloc(sizeof(struct kevent)); - EV_SET(pr->e, pr_pd, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, - NULL); - if (kevent(pr->kq, pr->e, 1, NULL, 0, NULL) == -1) - err(2, "kevent"); + } + close(pfd[0]); + rewind(stdout); + free(header); + pr->kq = kqueue(); + if (pr->kq == -1) + err(2, "kqueue"); + pr->e = xmalloc(sizeof(struct kevent)); + EV_SET(pr->e, pr_pd, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, + NULL); + if (kevent(pr->kq, pr->e, 1, NULL, 0, NULL) == -1) + err(2, "kevent"); } return (pr); }