help-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: diskfs_catch_exception


From: Marcus Brinkmann
Subject: Re: diskfs_catch_exception
Date: Mon, 9 Dec 2002 16:19:58 +0100
User-agent: Mutt/1.4i

On Mon, Dec 09, 2002 at 10:48:07AM +0100, M. Gerards wrote:
> Hi,
> 
> Can someone please explain me what diskfs_catch_exception is used for and 
> why? 
> What is the difference between the diskpager and the file pagers? iow. why is 
> diskfs_catch_exceptions used for diskpagers and not for filepagers?

If you access a mapped page, you always risk to segfault if there is a
trouble with the pager or if you calculated the page incorrectly.
Because we don't want to crash in this particular case, we set up a
signal preemptor.  The catch exception macros can be used to switch
on/off protected access to the disk image.

File system pagers are never mapped into the filesystem address space.  The
filesystem pagers exist solely for user mappings, and for read/write
operations via pager_memcpy (see libdiskfs/rdwr-internal.c).  As there is no
mapping, there is no need to protect against signals when accessing them.

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]