Merge lp:~michihenning/unity-scopes-api/reaper-hang into lp:unity-scopes-api
Proposed by
Michi Henning
Status: | Merged |
---|---|
Approved by: | Jussi Pakkanen |
Approved revision: | 94 |
Merged at revision: | 111 |
Proposed branch: | lp:~michihenning/unity-scopes-api/reaper-hang |
Merge into: | lp:unity-scopes-api |
Diff against target: |
150 lines (+43/-23) 2 files modified
include/scopes/internal/Reaper.h (+6/-1) src/internal/Reaper.cpp (+37/-22) |
To merge this branch: | bzr merge lp:~michihenning/unity-scopes-api/reaper-hang |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jussi Pakkanen (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email:
|
Commit message
Got rid of chatter from helgrind. (Needs helgrind 3.9.0 or later--3.8.1 generates bogus errors.)
Added public destroy() method so it is possible to shut down the reaper explicitly.
Fixed race condition on setting the self_ weak_ptr.
Description of the change
Got rid of chatter from helgrind. (Needs helgrind 3.9.0 or later--3.8.1 generates bogus errors.)
Added public destroy() method so it is possible to shut down the reaper explicitly.
Fixed race condition on setting the self_ weak_ptr.
To post a comment you must log in.
OK, I think I found it. The problem was that add() could run before self_ was set, so the back pointer form a reap item to the reaper was stale. Jussi, thanks again for the stack traces! Without those, I wouldn't have spotted this.
Can you give this a spin please and see whether it works for you now?
While I was at it, I got rid of the chatter from helgrind and added a public destroy() method as a convenience function.