[bf1942] Zombie players?
hydro at downclan.com
Fri Aug 5 10:48:08 EDT 2005
On Friday 05 Aug 2005 08:56, Einar S. Idsø wrote:
> Forrest Thiessen wrote:
> > Looking through the code, I don't see anywhere where these saved
> > copies of PlayerScore objects *ever* get erased. The scores within
> > for connected players get reset at the beginning of each round, but
> > the datastructures look like they stay there intact until the
> > server is restarted.
> Interesting - I wonder how large portion of the observed memory leak
> is due to this! ;)
> Are there perhaps other Py-objects that are not erased, for instance
> each and every object from a map may have associated Py-objects that
> are never erased.
I haven't looked at the code personally but I would imagine the objects
only exist through reference from other objects. Once they are no
longer referenced, Python will garbage collect them and free the
memory. For example:-
# Start new round
nRound = new Round()
# MemLeak (C) EA
# More game stuff
# End round
Since the player is only ever referenced through the round object, once
the round is removed, so too is the player. This would explain why
there's no "del playerX" statement per se.
More information about the Bf1942