mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1174796 - Make sure ReleaseNow releases everything. r=smaug
This commit is contained in:
parent
00c53f87c7
commit
884c626161
@ -1113,7 +1113,7 @@ IncrementalFinalizeRunnable::ReleaseNow(bool aLimited)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
function.run(UINT32_MAX, function.data);
|
while (!function.run(UINT32_MAX, function.data));
|
||||||
++mFinalizeFunctionToRun;
|
++mFinalizeFunctionToRun;
|
||||||
}
|
}
|
||||||
} while (mFinalizeFunctionToRun < mDeferredFinalizeFunctions.Length());
|
} while (mFinalizeFunctionToRun < mDeferredFinalizeFunctions.Length());
|
||||||
|
@ -16,9 +16,10 @@ namespace mozilla {
|
|||||||
// the array.
|
// the array.
|
||||||
typedef void* (*DeferredFinalizeAppendFunction)(void* aPointers, void* aThing);
|
typedef void* (*DeferredFinalizeAppendFunction)(void* aPointers, void* aThing);
|
||||||
|
|
||||||
// Called to finalize a number of objects. Slice is the number of objects
|
// Called to finalize a number of objects. Slice is the number of objects to
|
||||||
// to finalize, or if it's UINT32_MAX, all objects should be finalized.
|
// finalize. The return value indicates whether it finalized all objects in the
|
||||||
// Return value indicates whether it finalized all objects in the buffer.
|
// buffer. If it returns true, the function will not be called again, so the
|
||||||
|
// function should free aData.
|
||||||
typedef bool (*DeferredFinalizeFunction)(uint32_t aSlice, void* aData);
|
typedef bool (*DeferredFinalizeFunction)(uint32_t aSlice, void* aData);
|
||||||
|
|
||||||
void DeferredFinalize(DeferredFinalizeAppendFunction aAppendFunc,
|
void DeferredFinalize(DeferredFinalizeAppendFunction aAppendFunc,
|
||||||
|
Loading…
Reference in New Issue
Block a user