[Scummvm-cvs-logs] SF.net SVN: scummvm: [26396] scummvm/trunk/engines/parallaction/ parallaction.cpp

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Fri Apr 6 20:44:58 CEST 2007


Revision: 26396
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26396&view=rev
Author:   peres001
Date:     2007-04-06 11:44:58 -0700 (Fri, 06 Apr 2007)

Log Message:
-----------
Enabled lazy removal for Job instances.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/parallaction.cpp

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2007-04-06 18:35:35 UTC (rev 26395)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2007-04-06 18:44:58 UTC (rev 26396)
@@ -872,9 +872,7 @@
 }
 
 void Parallaction::removeJob(Job *j) {
-
-	removeNode(j);
-	delete j;
+	j->_finished = 1;
 	return;
 }
 
@@ -896,11 +894,14 @@
 	while (j) {
 		debugC(3, kDebugJobs, "runJobs: %i", j->_tag);
 
-		(*j->_fn)(j->_parm, j);
 		Job *v4 = (Job*)j->_next;
 
-		if (j->_finished == 1)
-			removeJob(j);
+		if (j->_finished == 1) {
+			removeNode(j);
+			delete j;
+		} else {
+			(*j->_fn)(j->_parm, j);
+		}
 
 		j = v4;
 	}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list