fish-shell/tests/checks/self-signal-usr1.fish
ridiculousfish c0b3be9fb4 Stop storing block_io in job_t
Prior to this fix, a job would hold onto any IO redirections from its
parent. For example:

    begin
        echo a
    end < file.txt

The "echo a" job would hold a reference to the I/O redirection.
The problem is that jobs then extend the life of pipes until the job is
cleaned up. This can prevent pipes from closing, leading to hangs.

Fix this by not storing the block IO; this ensures that jobs do not
prolong the life of pipes.

Fixes #6397
2019-12-11 16:34:20 -08:00

17 lines
200 B
Fish

#RUN: %fish %s
# See #6397
function f --on-signal USR1
begin
echo a
echo b
end | while read -l line
echo $line
end
end
kill -USR1 $fish_pid
#CHECK: a
#CHECK: b