Skip to content

Caller-installed signal handler can be called in RPC server context #35

@ventZl

Description

@ventZl

If caller installs a signal handler for any of its threads, then this signal handler will get triggered even if thread is currently executing RPC method. There are many possible ways to do that:

  • send a signal to the thread using kill()
  • schedule alarm()

This breaks caller - callee separation guarantees of RPC call mechanism: Caller can not execute any own code inside the RPC context and vice versa.

Q&D solution would be to disable signal emission while inside RPC calls. While recently there was an entirely new and independent mechanism added for notifications, better solution might be to retire the signal subsystem entirely as they are kind-of redundant.

Metadata

Metadata

Assignees

No one assigned

    Labels

    securityIssue has security consequences

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions