Skip Menu |
Report information
Id: 125654
Status: new
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: rob [at] hoelz.ro
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: Killing a Proc::Async doesn't seem to clean up its file descriptors, causing an abort() from libuv
Download (untitled) / with headers
text/plain 219b
See the attached script. Removing :w from the call to Proc::Async.new or the tap on $proc.stdout prevents this behavior. When I set a file descriptor limit of 150 via ulimit, Rakudo abort()s after about 60 iterations.
Subject: test.pl
Download test.pl
text/x-perl 265b
use v6; my @procs; my @promises; for ^1000 { .say; if @procs { @procs[*-1].kill; } my $proc = Proc::Async.new('sleep', '20', :w); $proc.stdout.tap(-> $ {}); @promises.push: $proc.start; @procs.push: $proc; } await @promises;


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org