ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/myhttpd/netgeo.pl
(Generate patch)

Comparing Coro/myhttpd/netgeo.pl (file contents):
Revision 1.5 by root, Tue Aug 28 02:43:02 2001 UTC vs.
Revision 1.6 by root, Thu Aug 30 03:35:56 2001 UTC

6use Fcntl; 6use Fcntl;
7 7
8use Coro; 8use Coro;
9use Coro::Event; 9use Coro::Event;
10use Coro::Semaphore; 10use Coro::Semaphore;
11use Coro::SemaphoreSet;
11use Coro::Socket; 12use Coro::Socket;
12 13
13$Event::DIED = sub { 14$Event::DIED = sub {
14 Event::verbose_exception_handler(@_); 15 Event::verbose_exception_handler(@_);
15 #Event::unloop_all(); 16 #Event::unloop_all();
218 219
219$WHOIS{ARIN} = new Whois::ARIN ARIN => "whois.arin.net", maxjobs => 12; 220$WHOIS{ARIN} = new Whois::ARIN ARIN => "whois.arin.net", maxjobs => 12;
220$WHOIS{RIPE} = new Whois::RIPE RIPE => "whois.ripe.net", maxjobs => 20; 221$WHOIS{RIPE} = new Whois::RIPE RIPE => "whois.ripe.net", maxjobs => 20;
221$WHOIS{APNIC} = new Whois::RIPE APNIC => "whois.apnic.net", maxjobs => 20; 222$WHOIS{APNIC} = new Whois::RIPE APNIC => "whois.apnic.net", maxjobs => 20;
222 223
224$whoislock = new Coro::SemaphoreSet;
225
223sub ip_request { 226sub ip_request {
224 my $ip = $_[0]; 227 my $ip = $_[0];
228
229 my $guard = $whoislock->guard($ip);
225 230
226 my $c = $iprange->db_cursor; 231 my $c = $iprange->db_cursor;
227 my $v; 232 my $v;
228 233
229 if (!$c->c_get((inet_aton $ip), $v, DB_SET_RANGE)) { 234 if (!$c->c_get((inet_aton $ip), $v, DB_SET_RANGE)) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines