1 | #!/usr/bin/perl |
1 | #!/usr/bin/perl |
2 | |
|
|
3 | # this hack shows how one can get LWP to be less blocking. |
|
|
4 | |
|
|
5 | { |
|
|
6 | # we replace Socket::inet_aton and CORE::select |
|
|
7 | use Coro::Select; # must come early |
|
|
8 | use Coro::Util; |
|
|
9 | use Coro::Socket; |
|
|
10 | use IO::Socket::INET; |
|
|
11 | use Socket; |
|
|
12 | BEGIN { |
|
|
13 | *Socket::inet_aton = \&Coro::Util::inet_aton; |
|
|
14 | *IO::Socket::INET::new = sub { new Coro::Socket forward_class => @_ }; |
|
|
15 | } |
|
|
16 | } |
|
|
17 | |
2 | |
18 | use Coro; |
3 | use Coro; |
19 | use Coro::Event; |
4 | use Coro::Event; |
|
|
5 | use Coro::LWP; # should be use'd as early as possible |
20 | use LWP::Simple; |
6 | use LWP::Simple; |
21 | |
7 | |
22 | $SIG{PIPE} = 'IGNORE'; |
8 | $SIG{PIPE} = 'IGNORE'; |
23 | |
9 | |
24 | async { |
10 | async { |