zeur here. The following {,ab}use of tail(1):
% </var/log/messages tail -f causes an abort trap 'cause of a missing "rpath" pledge. An excellent demonstration of pledge(2)'s usefulness, since it exposed a little bug that caused tail to try and re-open stdin, which is useless on OpenBSD[0] (unless we parse stdin as "/dev/stdin" and its ino would change -- unlikely). The below patch fixes this by simply not trying to re-open stdin. --zeurkous. [0] NetBSD, iirc, keeps track of the original path of opened files (other systems might too), but I suppose that's irrelevant here :) Index: src/usr.bin/tail/forward.c =================================================================== RCS file: /cvs/src/usr.bin/tail/forward.c,v retrieving revision 1.31 diff -u -p -r1.31 forward.c --- src/usr.bin/tail/forward.c 5 Jul 2016 05:06:27 -0000 1.31 +++ src/usr.bin/tail/forward.c 29 Dec 2018 05:42:07 -0000 @@ -221,7 +221,7 @@ forward(struct tailfile *tf, int nfiles, * a new file reappears with * the same name. */ - (void) tfreopen(ctf); + if(!is_stdin) (void)tfreopen(ctf); } else if (ke.fflags & NOTE_TRUNCATE) { warnx("%s has been truncated, " "resetting.", ctf->fname);