From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 16 13:14:28 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 5941E1065672; Wed, 16 Nov 2011 13:14:28 +0000 (UTC) Date: Wed, 16 Nov 2011 13:14:28 +0000 From: Alexander Best To: freebsd-hackers@freebsd.org Message-ID: <20111116131428.GA40723@freebsd.org> References: <20111115202450.GA73512@freebsd.org> <20111116102239.GA2687@britannica.bec.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20111116102239.GA2687@britannica.bec.de> Cc: Joerg Sonnenberger Subject: Re: easy way to determine if a stream or fd is seekable X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Nov 2011 13:14:28 -0000 On Wed Nov 16 11, Joerg Sonnenberger wrote: > On Tue, Nov 15, 2011 at 08:24:50PM +0000, Alexander Best wrote: > > one of the things i'm missing is an easy way to determine, whether a stream or > > fd is seekable. i checked the dd(1) and hd(1) sources and those tools are > > performing so much stuff just to find out if this is the case, and they still > > are doing a very poor job. > > Isn't the primary issue that FreeBSD doesn't properly report errors for > lseek(2)? I think you should start from that and not hack around the > fallout... what do you mean? lseek(2) returns -1, when the file descriptor is not seekable. i fired lseek(2) at all sorts of file types (dir, sockets, ...) and it always returned the correct result. cheers. alex > > Joerg