*BSD News Article 55058


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yarrina.connect.com.au!munnari.OZ.AU!spool.mu.edu!howland.reston.ans.net!newsfeed.internetmci.com!in2.uu.net!DIALix!haywire.DIALix.COM!not-for-mail
From: peter@haywire.DIALix.COM (Peter Wemm)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: INND1.4+MMAP=BROKEN MESS
Date: 19 Nov 1995 13:35:40 +0800
Organization: DIALix Services, Perth, Australia.
Lines: 39
Sender: peter@haywire.DIALix.COM
Message-ID: <48mfnc$iqu$1@haywire.DIALix.COM>
References: <46ldvj$l3c@buffnet2.buffnet.net> <imzqekgzmt.fsf@hidden.cs.uidaho.edu> <472u66$dpo@blackbush.xlink.net> <47f3gf$2gu@atlas.uniserve.com> <47m335$eu3@buffnet2.buffnet.net> <47m8kq$gqq@atlas.uniserve.com> <47qcfu$4r8@buffnet2.buffnet.net> <48095n$es4@atlas.uniserve.com> <489pdd$21u@pilhuhn.pilhuhn.de> <48ejtu$b97@atlas.uniserve.com>
NNTP-Posting-Host: peter@haywire.dialix.com

tom@uniserve.com (Tom Samplonius) writes:

>In article <489pdd$21u@pilhuhn.pilhuhn.de>, hwr@pilhuhn.de says...
>>
>>tom@uniserve.com (Tom Samplonius) writes:
>>
>>>  Err.. if you look at the code, mmap() is only for updating the active file. 
> Not used for 
>>>history at all.
>>
>>*beeeep* Wrong. If you compile innd with -DMMAP then mmap() is also
>>used for the history ...

>  The innd sources only contain references to mmap for active file updating.  
>The dbz library is used to manage the history database and it has no references 
>to mmap either.

Sorry... You're wrong too.. :-)

Check out lib/dbx.pch - it takes the virgin ../dbz/dbz.c sources and
uses 'patch' to add in various bugfixes and performance improvements,
including MMAP support.

The main difference between the two is that the active file is written
to via mmap().  I believe the patched dbz doesn't use mmap() to write
to the .dir/.pag files, although I could well be wrong.

Last time I spoke to Rich Salz, he mentioned that the c-news dbz had
changed so much that he wasn't going to do the patching anymore and
simply distribute a prepatched custom dbz.c.  This will solve a lot of
problems with certain machines that dont have patch, or have a 'patch'
program that is part of cfront's C++ for manipulating constructer
lists etc in object file namelists and not the usual source code
tool. 

-Peter

>Tom