On Thu, 2007-04-12 at 18:16 -0600, Duane Wessels wrote:

> On Thu, 12 Apr 2007, Alex Rousskov wrote:
> 
> > rousskov    2007/04/12 08:51:10 MDT
> >
> >  Modified files:
> >    src                  main.cc
> >  Log:
> >  This change should fix bug #1837: Segfault on configuration error
> >
> >  When quitting on a fatal error, such as a configuration error, Squid may 
> > need
> >  to write clean state/log files. Squid uses comm_ routines to do so. Thus, 
> > we
> >  must initialize comm_ before such fatal errors are discovered.
> >
> >  Perhaps a better fix would be to avoid writing clean state/log files until
> >  the old ones become dirty?
> 
> The last comment is correct.  Squid should not write clean state files
> until existing state files have been entirely read.
> 
> I fixed this bug a couple of days ago in the following revisions:
> 
>    1.88      +2 -2      squid3/src/store_rebuild.cc
>    1.157     +9 -2      squid3/src/store_dir.cc
> 
>     store_dirs_rebuilding should be initialized to 1
> 
>     store_dirs_rebuilding is initialized to _1_ as a hack so that
>     storeDirWriteCleanLogs() doesn't try to do anything unless _all_
>     cache_dirs have been read.  For example, without this hack, Squid
>     will try to write clean log files if -kparse fails (becasue it
>     calls fatal()).
> 
> 
> Sorry I did not realize there was a bugzilla entry for it.
> I'd suggest backing out your patch.

With pleasure. I saw your store_dirs_rebuilding initialization hack but
thought it was added before the bug report.

Thank you,

Alex.


Reply via email to