# New Ticket Created by [email protected] # Please include the string: [perl #126390] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=126390 >
I was trying to write up a new concurrency examples for a talk when I encountered this: 05:20:34 ~/temp $ time perl6 -MHTTP::UserAgent -e 'my $url = "http://www.rakudo.org/"; my $ua = HTTP::UserAgent.new; $ua.get($url)' real 0m12.382s user 0m10.374s sys 0m0.203s 05:21:33 ~/temp $ time perl6 -MHTTP::UserAgent -e 'my $url = "http://www.rakudo.org/"; my $ua = HTTP::UserAgent.new; $ua.get($url); await start { $ua.get($url) }' real 0m13.869s user 0m10.607s sys 0m0.215s 05:21:59 ~/temp $ time perl6 -MHTTP::UserAgent -e 'my $url = "http://www.rakudo.org/"; my $ua = HTTP::UserAgent.new; await start { $ua.get($url) }' # hangs forever unless we do a FIRST $ua.get outside of start {} The last example just hangs. As far as I can tell, I have to make at least one get($url) call outside of the promise for it to work. I get the same behavior with LWP::Simple. 05:25:35 ~/temp $ time perl6 -MLWP::Simple -e 'my $url = "http://www.rakudo.org/"; LWP::Simple.get($url)' real 0m9.003suser 0m7.277ssys 0m0.145s05:28:50 ~/temp $ time perl6 -MLWP::Simple -e 'my $url = "http://www.rakudo.org/"; LWP::Simple.get($url); await start { LWP::Simple.get($url) }' real 0m11.003suser 0m7.625ssys 0m0.162s05:29:11 ~/temp $ time perl6 -MLWP::Simple -e 'my $url = "http://www.rakudo.org/"; await start { LWP::Simple.get($url) }' # hangs ... Best,Ovid-- IT consulting, training, specializing in Perl, databases, and agile developmenthttp://www.allaroundtheworld.fr/. Buy my book! - http://bit.ly/beginning_perl
