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
Our current approach for discovering threads in the current process is to look in /proc/self/task, which contains thread ids for all threads in the current thread group. If a process uses vfork or clone without CLONE_THREAD, then we'll miss them. Other threads will be executing in the current address space, and bad things are likely to happen.
figuring out whether signal handlers are shared or not is an additional challenge, as not having them all shared will lead to failing to take over all the threads even if we can list them all. this was one of the main challenges listed up front in issue #38 , partly b/c back then NPTL wasn't everywhere
I noticed that for all threads in the current thread group, CLONE_SIGHAND is mandatory according to the clone manpage. As long as we're limiting ourselves to a single thread group by looking at /proc/self/task, we can be certain that they share signal handlers.
From [email protected] on May 03, 2012 13:12:32
Splitting from issue #38 and issue #722 .
Our current approach for discovering threads in the current process is to look in /proc/self/task, which contains thread ids for all threads in the current thread group. If a process uses vfork or clone without CLONE_THREAD, then we'll miss them. Other threads will be executing in the current address space, and bad things are likely to happen.
Original issue: http://code.google.com/p/dynamorio/issues/detail?id=764
The text was updated successfully, but these errors were encountered: