Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Apr 1999 18:02:08 -0700
From:      Jason Thorpe <thorpej@nas.nasa.gov>
To:        jwm@CSUA.Berkeley.EDU
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: read() and pread() syscalls 
Message-ID:  <199904120102.SAA24587@lestat.nas.nasa.gov>

next in thread | raw e-mail | index | archive | help
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.

        -- 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904120102.SAA24587>