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>
