This is a cleanup patch for thread state coordinator. After making processing of all events
synchronous, there is no need to have a a separate class for each event. I have moved back
processing of all events back into the TSC class. No functional change.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Sending of SIGSTOP to newly created threads got somehow lost..
(unit tests actually managed to find something :)
source/Plugins/Process/Linux/ThreadStateCoordinator.cpp | ||
---|---|---|
466 ↗ | (On Diff #24538) | Inline this? |
508 ↗ | (On Diff #24538) | Combine with TSC::RequestThreadResume and inline this? |
529 ↗ | (On Diff #24538) | Inline this? |
548 ↗ | (On Diff #24538) | Inline this? |
source/Plugins/Process/Linux/ThreadStateCoordinator.h | ||
146 ↗ | (On Diff #24538) | We don't need this for a struct. |
242 ↗ | (On Diff #24538) | Define a PendingNotificationUP? So we don't need to have std::unique_ptr<PendingNotification> everywhere. |
I have addressed two of the issues you mentioned. As for the inlining, I have that in my sights, but I would prefer to do it in a separate change, after this code get's moved into NPL. Then I can do more function removal as NPL has a lot of similarly named functions, which are just proxies to the corresponding TSC method. And actually, now i quite like the fact that logging and locking is slightly separated from the code doing the actual work. What do you think? Can I do this as a separate change (along with a lot of other cleanups)?
source/Plugins/Process/Linux/ThreadStateCoordinator.h | ||
---|---|---|
146 ↗ | (On Diff #24538) | Removed. |
242 ↗ | (On Diff #24538) | Done. |
Can I do this as a separate change (along with a lot of other cleanups)?
Okay, LGTM for now.
source/Plugins/Process/Linux/ThreadStateCoordinator.h | ||
---|---|---|
242 ↗ | (On Diff #24939) | s/std::unique_ptr<PendingNotification>/PendingNotificationUP/ |