Hi, the function parallel() should release file descriptors just like sequential() does: If we reach EOF, close it -- except we were reading stdin.
Tobias Index: paste.c =================================================================== RCS file: /cvs/src/usr.bin/paste/paste.c,v retrieving revision 1.18 diff -u -p -r1.18 paste.c --- paste.c 12 Aug 2010 05:02:52 -0000 1.18 +++ paste.c 24 Nov 2014 18:04:16 -0000 @@ -130,6 +130,8 @@ parallel(char **argv) if (!(buf = fgetln(lp->fp, &len))) { if (!--opencnt) break; + if (lp->fp != stdin) + (void)fclose(lp->fp); lp->fp = NULL; if (output && lp->cnt && (ch = delim[(lp->cnt - 1) % delimcnt]))