From 185b0800d9ccc17b5fd81774896b9afaace4d26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20Soul=C3=A9?= Date: Sun, 4 Feb 2018 18:02:38 +0100 Subject: [PATCH] Do not Seek when named pipe is watched At least on FreeBSD 11.1-STABLE amd64 it fails otherwise... --- tail.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tail.go b/tail.go index 39729fa6..67329966 100644 --- a/tail.go +++ b/tail.go @@ -341,9 +341,13 @@ func (tail *Tail) watchChanges() error { if tail.changes != nil { return nil } - pos, err := tail.file.Seek(0, os.SEEK_CUR) - if err != nil { - return err + var pos int64 + var err error + if !tail.Pipe { + pos, err = tail.file.Seek(0, os.SEEK_CUR) + if err != nil { + return err + } } tail.changes, err = tail.watcher.ChangeEvents(&tail.Tomb, pos) return err