From: <kha...@us...> - 2008-04-29 16:56:41
|
Revision: 1428 http://planeshift.svn.sourceforge.net/planeshift/?rev=1428&view=rev Author: khakilord Date: 2008-04-29 09:56:48 -0700 (Tue, 29 Apr 2008) Log Message: ----------- Fixed a mistake in ref queue locking when full. Modified Paths: -------------- trunk/docs/history.txt trunk/src/common/util/genrefqueue.h Modified: trunk/docs/history.txt =================================================================== --- trunk/docs/history.txt 2008-04-29 15:53:50 UTC (rev 1427) +++ trunk/docs/history.txt 2008-04-29 16:56:48 UTC (rev 1428) @@ -2,6 +2,7 @@ - Fixed a performance bug in movement interval calculation where the interval was being reduced for safety in absolute instead of relative terms. +- Fixed a mistake in ref queue locking when full. *** 2008-04-29 by Mike Gist - Made a small optimisation to gemActor::InitLinMove. Modified: trunk/src/common/util/genrefqueue.h =================================================================== --- trunk/src/common/util/genrefqueue.h 2008-04-29 15:53:50 UTC (rev 1427) +++ trunk/src/common/util/genrefqueue.h 2008-04-29 16:56:48 UTC (rev 1428) @@ -85,9 +85,9 @@ { tqend = (qend + 1) % qsize; // check if queue is full - while (tqend == qstart) + if (tqend == qstart) { - datacondition.Wait(mutex); + return false; } // check are we having a refcount race (in which msg would already be destroyed) CS_ASSERT(msg->GetRefCount() > 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |