Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2003:
[Freeciv-Dev] Re: list cleaning
Home

[Freeciv-Dev] Re: list cleaning

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: list cleaning
From: Raimar Falke <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Sat, 29 Nov 2003 16:16:25 +0100

On Sat, Nov 29, 2003 at 03:07:19PM +0000, Per I. Mathisen wrote:
> On Sat, 29 Nov 2003, Raimar Falke wrote:
> > There is another way. If this 'normalize' iterators are in place we
> > can ensure with assert that unlink isn't called when we are currently
> > iterating over the list. Such cases would then be replaced (by hand)
> > with safe iterations. This is the conservative approach: you can be
> > sure that there are no unsafe unlinks and there is a known and
> > constant memory and cpu-time usage.
> 
> Not if deletions only happen in extremely rare cases. This does happen.

Yes. However we will know that this happens.

> Then you just introduced a new bug where there may not have been one
> previously.

I don't understand.

There is another safety with this approach: if there is a still
'unnormalize' iterator the nesting count will remain >1. This will
cause the assertion to trigger even if the code was correctly
converted to use the safe version.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  Tank: So what do you need? Besides a miracle.
  Neo: Guns. Lots of guns.
    -- From The Matrix


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