mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-12 22:51:11 +00:00
Enabled lazy removal for Job instances.
svn-id: r26396
This commit is contained in:
parent
dca464b06e
commit
700fba21ed
@ -872,9 +872,7 @@ Job *Parallaction::addJob(JobFn fn, void *parm, uint16 tag) {
|
||||
}
|
||||
|
||||
void Parallaction::removeJob(Job *j) {
|
||||
|
||||
removeNode(j);
|
||||
delete j;
|
||||
j->_finished = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -896,11 +894,14 @@ void Parallaction::runJobs() {
|
||||
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user