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: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: list cleaning
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Sat, 29 Nov 2003 15:41:54 +0000 (GMT)

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.

Not if we don't catch it. Players test more code paths in the game than we
do.

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

You mean, another way to generate a bug where there was none before.

Isn't it best not do this 'normalizing' (banning perfectly valid C) in
iterators when we don't have to?

  - Per



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