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>