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
  • Issues
  • #4998
Closed
Open
Issue created Jul 08, 2021 by Derek Bruening@derekbrueningContributor

Blocked signal still delivered if it arrived while unblocked and was delayed

If two SIGPROF signals arrive while in DR code and that signal is unblocked at the time, both will be delivered once we go back to the cache. If the app's handler goes back to dispatch for any reason, the 2nd signal will be delivered, interrupting the app's handler, despite the app not setting SA_NODEFER and thus SIGPROF is blocked while in the handler and there should be no nesting.

Here's the problem:

            /* We do not re-check whether blocked if it was unblocked at
             * receive time, to properly handle sigsuspend (i#1340).
             */

From ae43e2a1 for sigsuspend #1340 (closed)

Assignee
Assign to
Time tracking