New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proc::Async stdout does not tap output in its entirety. #4365
Comments
From liukan@360.cnhttps://gist.github.com/anonymous/79a7e59cf3160f6ac09e 07:31 kanl repeating a previous question, is it by design or a bug that Proc::Async stdout does not tap output in its entirety? ( i thought it's neither ) - kan |
1 similar comment
From liukan@360.cnhttps://gist.github.com/anonymous/79a7e59cf3160f6ac09e 07:31 kanl repeating a previous question, is it by design or a bug that Proc::Async stdout does not tap output in its entirety? ( i thought it's neither ) - kan |
From @skidsI also ran into this behavior trying to use Proc::Async's Supplies. Some of it hinges on whether all tap code should be complete before a done However, Supply.Channel should probably be made smart enough to make a https://gist.github.com/skids/e8149189ac5c24ae493e ...and one way to do so would be to ensure that "whenever" blocks get entered |
The RT System itself - Status changed from 'new' to 'open' |
From @skids
This turned out to be more stable, but not perfect -- when it does not die $ perl6 -e 'sub f { my $cmd = Proc::Async.new(:path<ls>); my $c = Channel.new; (supply { whenever $cmd.stdout -> $l { $c.send($l); }; $cmd.start }).Promise.then({$c.close}); $c.join }; my $f = f(); die "first rep" unless $f.?chars; loop { my $h = f(); state $i = 0; $i++; die "$i reps" unless $f.chars == $h.?chars }' |
From @jnthnOn Tue Jun 30 01:02:15 2015, liukan@360.cn wrote:
Yes, there was a bug that could cause data loss. Fixed now, and a test is in S17-procasync/stress.t. |
@jnthn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#125515 (status was 'resolved')
Searchable as RT125515$
The text was updated successfully, but these errors were encountered: