Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Apr 1999 21:20:53 -0400 (EDT)
From:      Brian Feldman <green@unixhelp.org>
To:        Jason Thorpe <thorpej@nas.nasa.gov>
Cc:        jwm@CSUA.Berkeley.EDU, freebsd-hackers@FreeBSD.ORG
Subject:   Re: read() and pread() syscalls 
Message-ID:  <Pine.BSF.4.05.9904112120340.35407-100000@janus.syracuse.net>
In-Reply-To: <199904120102.SAA24587@lestat.nas.nasa.gov>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 11 Apr 1999, Jason Thorpe wrote:

> On Sun, 11 Apr 1999 14:16:45 -0700 
>  John Milford <jwm@CSUA.Berkeley.EDU> wrote:
> 
>  > 	Should read() be turned into a library function now that we
>  > have pread(), and read() is a proper subset of pread()?  I am not sure
> 
> Not that I care too much, since read/pread, etc work fine in NetBSD (which
> is what I use), but...
> 
> read() is _NOT_ a subset if pread() in the common sense.  read() works
> from the current file offset, while pread() always takes an explicit offset.
> 
> There is no way to emulate read() with pread() in userspace.
> 
>  > if this is a POSIX compliance issue, but I've been digging around in
>  > this code recently, and it seems that there is a lot of overlap in the
>  > read system calls, and we might want to consider doing something
>  > similar to the approach taken with wait().  I could understand that
>  > this case is different so we may not want to be doing conversion of
>  > read() or readv() into a hypothetical preadv(), but I can see no issue
>  > with converting read()'s into pread()'s.
> 
> ...and why not implement preadv()?  I did when I implemented pread()/pwrite()
> in NetBSD.
> 
> But, see above about it not being possible to emulate read() with pread()
> in userspace.

You mean, without lseek(2) =)

> 
>         -- Jason R. Thorpe <thorpej@nas.nasa.gov>
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 

 Brian Feldman                _ __ ___ ____  ___ ___ ___  
 green@unixhelp.org                _ __ ___ | _ ) __|   \ 
     FreeBSD: The Power to Serve!      _ __ | _ \__ \ |) |
         http://www.freebsd.org           _ |___/___/___/ 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9904112120340.35407-100000>