Skip to content

Define Generic Host, SIGQUIT, and Windows shutdown integration #83

Description

@autocarl

Context

Issue #79 suggested using ConsoleLifetime when an IHost is supplied. PR #80 intentionally leaves external IServiceProvider, IHost, and IReplHost overloads caller-owned to avoid duplicate process handlers. It directly covers console cancel keys and Unix SIGTERM for internally configured process-owning profiles, but does not directly register POSIX SIGQUIT or translate Windows service/control shutdown.

Questions to resolve

  • Should IHost overloads integrate with IHostApplicationLifetime.ApplicationStopping, ConsoleLifetime, or both?
  • Should a future process-owning profile handle SIGQUIT directly, and what exit/second-signal policy should it use?
  • What are the correct Windows mappings for Ctrl+C, Ctrl+Break, console close, service stop, taskkill, and job-object termination?
  • How can Repl avoid competing with a host that already installed lifetime handlers?

Acceptance criteria

  • Hosted and standalone ownership boundaries are explicit and testable.
  • No path installs duplicate competing handlers by default.
  • SIGQUIT support is either implemented with a documented exit contract or explicitly rejected with rationale.
  • Windows-specific lifecycle guidance documents what is catchable, what must come from the host, and what cannot unwind cooperatively.
  • Integration tests cover supported Unix and Windows lifecycle events where CI can generate them reliably.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions