DynamoRIO / DynamoRIO/dynamorio
Client sideline threads are terminated early by NtTerminateProcess syscall
Open
OpSys-Windows
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
To fix #297, we perform synch-all-threads twice, before and after client-exit-event, and only terminate client sideline threads in the after client-exit-event synch operation, so that client threads can be notified by the client exit event and exit gracefully.
However, in Windows, the NtTerminateProcess system call will terminate all threads including client sideline threads, which makes DR behaves differently from Linux.
We should skip NtTerminateProcess system call and use synch-all operation to terminate app threads only.
Contributor guide
Assessment
This issue has not been assessed yet.