497
|
|
|
Michi Henning |
9 years ago
|
|
|
496
|
|
|
Michi Henning |
9 years ago
|
|
|
495
|
|
|
Pawel Stolowski |
9 years ago
|
|
|
494
|
|
|
Michi Henning |
9 years ago
|
|
|
493
|
|
|
Michi Henning |
9 years ago
|
|
|
492
|
|
|
Pete Woods |
9 years ago
|
|
|
491
|
|
|
Michi Henning |
9 years ago
|
|
|
490
|
|
|
Michi Henning |
9 years ago
|
|
|
489
|
|
|
Michi Henning |
9 years ago
|
|
|
488
|
|
|
Michi Henning |
9 years ago
|
|
|
487
|
|
|
Michi Henning |
9 years ago
|
|
|
486
|
|
|
Pete Woods |
9 years ago
|
|
|
485
|
|
|
Jussi Pakkanen |
9 years ago
|
|
|
484
|
|
|
Michi Henning |
9 years ago
|
|
|
483
|
|
|
Michi Henning |
9 years ago
|
|
|
482
|
|
|
Michi Henning |
9 years ago
|
|
|
481
|
|
|
Michi Henning |
9 years ago
|
|
|
480
|
|
|
Michi Henning |
9 years ago
|
|
|
479
|
|
The reaper test could race with the reap thread, causing the test to fail.
Changed Reaper to use a weak_ptr instead of std::function to get at the callback, to avoid holding ReapItems alive longer than necessary.
Changed implementation such that, once a call to destroy() on a ReapItem returns, it is guaranteed that the reaper thread won't fire the callback. Previously, it was possible for the callback to still fire after a destroy() call completed, because the reap thread runs completely asynchronously. But, having this happen could be embarrassing:
auto o = new SomeObj(...); auto ri = reaper->add(bind(&SomeObj::some_method, o)); ... ri->destroy(); delete o; // Oops, callback could happen here, calling into deleted o.
Added more tests.
Approved by Pawel Stolowski, Pete Woods, PS Jenkins bot.
|
Michi Henning |
9 years ago
|
|
|
478
|
|
|
Michi Henning |
9 years ago
|
|
|