Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Dec 1998 17:32:35 -0500 (EST)
From:      Alfred Perlstein <bright@hotjobs.com>
To:        Marc Slemko <marcs@znep.com>
Cc:        "Richard Seaman, Jr." <lists@tar.com>, "hackers@freebsd.org" <hackers@FreeBSD.ORG>
Subject:   Re: pread/pwrite
Message-ID:  <Pine.BSF.4.05.9812101727250.27793-100000@bright.fx.genx.net>
In-Reply-To: <Pine.BSF.4.05.9812101418070.463-100000@alive.znep.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Thu, 10 Dec 1998, Marc Slemko wrote:

> On Thu, 10 Dec 1998, Richard Seaman, Jr. wrote:
> 
> > I don't know if there is any interest in X/Open pread, pwrite 
> > calls.  Essentially, they implement atomic seek/write and
> > atomic seek/read calls.  They are more useful in threaded
> > apps where you would need a file lock between a seek/write
> > or seek/read, but even in single threaded apps can allow
> > you to avoid a syscall.
> > 
> > Attached is an implementation.  If there is interest, and
> > if the implementation meets with approval, I'll submit
> > a PR.  Or, perhaps someone would want to commit it directly.
> > 
> > I welcome any comments.
> 
> (not necessarily addressed specifically at pread/pwrite, but it does
> apply to it because of how it is used...)
> 
> Where is the locking if multiple threads are reading and/or writing
> from or to the same descriptor at the same time?  If you have x
> threads reading from a descriptor opened from a file on disk, do
> x-1 of them have to wait until the first one finishes before they can
> do anything?
> 
> What about with mixed reading/writing?

>From looking at the diffs what I think what he implemented was a
seek+(write|read) in one syscall.

Meaning you do not have to lock an fd when seeking and then writing since
it's one syscall it's atomic.  This saves on syscalls in general, and
helps thread coders save on locking overhead.  (Basically if you plan to
seek, then read/write, unless you lock on the fd, you risk another thread
moving the file pointer out from under you.)

plus... solaris and IRIX have it, we should too, doncha think?

Alfred Perlstein - Programmer, HotJobs Inc. - www.hotjobs.com
-- There are operating systems, and then there's FreeBSD.
-- http://www.freebsd.org/                        3.0-current



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.9812101727250.27793-100000>