ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/eg/lwp
(Generate patch)

Comparing Coro/eg/lwp (file contents):
Revision 1.2 by root, Sat Jul 28 01:41:58 2001 UTC vs.
Revision 1.5 by root, Sun Nov 5 02:18:06 2006 UTC

1#!/usr/bin/perl 1#!/usr/bin/perl
2
3# this hack shows how one can overwrite IO::Socket::INET to provide
4# non-blocking sockets by default. This makes lwp magically
5# non-blocking. I hope.
6
7{
8 # this is all the required magic: we replace the constructor.
9 use Coro::Socket;
10 use IO::Socket::INET;
11 sub IO::Socket::INET::new {
12 shift; new Coro::Socket @_;
13 };
14}
15 2
16use Coro; 3use Coro;
17use Coro::Event; 4use Coro::Event;
5use Coro::LWP; # should be use'd as early as possible
18use LWP::Simple; 6use LWP::Simple;
7
8$SIG{PIPE} = 'IGNORE';
9
10async {
11 print "hi2\n";
12 get "http://www.google.de/";
13 print "ho2\n";
14};
19 15
20async { 16async {
21 print "hi\n"; 17 print "hi\n";
22 get "http://localhost/"; 18 get "http://www.yahoo.com/";
23 print "ho\n"; 19 print "ho\n";
24 20
25}; 21};
26 22
27async { 23loop;
28 print "hi2\n";
29 get "http://localhost/";
30 print "ho2\n";
31};
32 24
33loop;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines