You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In scratch.h class ScratchStoreManager,
in member function destroy:
<<<<<<
while (!_scratch_pool.empty()) {
auto scratch = _scratch_pool.pop();
while (scratch == nullptr) {
_scratch_pool.wait_for_push_notify();
scratch = _scratch_pool.pop();
}
delete scratch;
}
the bellowing codes should be replaced by following codes
_scratch_pool.push(_scratch);
_scratch_pool.push_notify_all();
while (!_scratch_pool.empty())
{
auto scratch = _scratch_pool.pop();
while (scratch == nullptr)
{
_scratch_pool.wait_for_push_notify();
scratch = _scratch_pool.pop();
}
delete scratch;
}
_scratch = nullptr;
=====================
in deconstructor function:
<<<<<<
_scratch->clear();
_scratch_pool.push(_scratch);
_scratch_pool.push_notify_all();
the bellowing codes should be replaced by following codes
if (_scratch)
{
_scratch->clear();
_scratch_pool.push(_scratch);
_scratch_pool.push_notify_all();
}
=====================
Additional Details
origin code will cause one object in multithread-queue does not deconstruct, which object is member "_scratch"
The text was updated successfully, but these errors were encountered:
Error
In scratch.h class ScratchStoreManager,
in member function destroy:
<<<<<<
while (!_scratch_pool.empty()) {
auto scratch = _scratch_pool.pop();
while (scratch == nullptr) {
_scratch_pool.wait_for_push_notify();
scratch = _scratch_pool.pop();
}
delete scratch;
}
the bellowing codes should be replaced by following codes
=====================
in deconstructor function:
<<<<<<
_scratch->clear();
_scratch_pool.push(_scratch);
_scratch_pool.push_notify_all();
the bellowing codes should be replaced by following codes
=====================
Additional Details
origin code will cause one object in multithread-queue does not deconstruct, which object is member "_scratch"
The text was updated successfully, but these errors were encountered: