DynamoRIO / DynamoRIO/dynamorio

Client sideline threads are terminated early by NtTerminateProcess syscall

Open
#2,346 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.