From 2d6e38824a714bef8d76c8ea17e6efef479304ce Mon Sep 17 00:00:00 2001 From: Alex Schroeder Date: Fri, 23 Jan 2004 11:23:17 +0000 Subject: [PATCH] (PingTracker): Added forking on each request. --- weblog-tracking.pl | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/weblog-tracking.pl b/weblog-tracking.pl index 6641ceb2..04409a65 100644 --- a/weblog-tracking.pl +++ b/weblog-tracking.pl @@ -1,3 +1,7 @@ +# Weblog Tracker Notification Extension + +# Put this file in your modules directory. + %NotifyJournalPage = (); @NotifyUrlPatterns = (); @@ -51,12 +55,16 @@ sub PingTracker { my $rss = UrlEncode($q->url . '?action=rss'); require LWP::UserAgent; foreach $uri (@NotifyUrlPatterns) { - $uri =~ s/\$name/$name/g; - $uri =~ s/\$url/$url/g; - $uri =~ s/\$rss/$rss/g; - my $ua = LWP::UserAgent->new; - my $request = HTTP::Request->new('GET', $uri); - $ua->request($request); + my $fork = fork(); + if (not ($fork > 0)) { # either we're the child or forking failed + $uri =~ s/\$name/$name/g; + $uri =~ s/\$url/$url/g; + $uri =~ s/\$rss/$rss/g; + my $ua = LWP::UserAgent->new; + my $request = HTTP::Request->new('GET', $uri); + $ua->request($request); + exit if ($fork == 0); # exit when we're the child + } } } }