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
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 | Inline this? | |
508 | Combine with TSC::RequestThreadResume and inline this? | |
529 | Inline this? | |
548 | Inline this? | |
source/Plugins/Process/Linux/ThreadStateCoordinator.h | ||
146 | We don't need this for a struct. | |
242 | 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 | Removed. | |
242 | 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 | s/std::unique_ptr<PendingNotification>/PendingNotificationUP/ |
We don't need this for a struct.