Raku / Raku/whateverable

Do not use SIGHUP to stop processes

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

whateverable
Dominant language
Raku
Stars
19
Forks
16
PR merge metrics
No merged PRs in 30d

Description

See this TODO from Whateverable.pm6:

    if not $promise.status ~~ Kept { # timed out
        $proc.kill; # TODO sends HUP, but should kill the process tree instead
        $out.send: “«timed out after $timeout seconds, output»: ”;
    }

If I recall correctly, this prevents us from running the bots under nohup (which is not required, but still).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at Whateverable.pm6 around line 100 and inspect how the timeout path uses $proc.kill. Determine how the process tree should be stopped without sending SIGHUP, then verify that timed-out processes and their descendants are terminated while the bots can still run under nohup.

Written by the indexing model from the issue text.

Assessment

Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.