Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !2840

i#1309 win8+ threads: use NtCreateThreadEx for external nudges

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i1309-external-nudges into master Feb 20, 2018
  • Overview 1
  • Commits 2
  • Pipelines 0
  • Changes 7

Changes the libutil nudge code to use NtCreateThreadEx on Win8+.

For a test, enables the client.nudge_test test, part of i#120: enable .runall tests on Windows. Here I added a new app win32.infloop to parallel linux.infloop, rather than launching calc.exe or notepad.exe like we did in the past (not yet tackling systemwide injection here). It has a MessageBox with a title containing the pid, allowing us to use tools/closewnd with a unique target name for a clean and race-free exit. win32.infloop also has a 3-minute timeout to avoid leaving stale processes behind in case of issues closing it externally.

Revamped runall.cmake to work on Windows, using "ping" to sleep, updating nudge and close commands, removing stale pid files, etc.

Ported suite code to use run_in_bg on Windows as well as Linux, but with the pidfile coming from drrun.

Fixes #1309 (closed) Fixes #1432 (closed) Issue: #120, #1835 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i1309-external-nudges