summaryrefslogtreecommitdiffstats
path: root/log.pl
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-05-14 02:35:45 +0200
committerwartung <wartung@vm-mail.spline.inf.fu-berlin.de>2014-05-14 02:35:58 +0200
commitb6660f01127b75ea1acf61a192931165318f4fb1 (patch)
treee687a209463836cc74e306c0f60b0f50265b2428 /log.pl
downloadspamd-stats-b6660f01127b75ea1acf61a192931165318f4fb1.tar.gz
spamd-stats-b6660f01127b75ea1acf61a192931165318f4fb1.tar.bz2
spamd-stats-b6660f01127b75ea1acf61a192931165318f4fb1.zip
Initial commit
Diffstat (limited to 'log.pl')
-rwxr-xr-xlog.pl29
1 files changed, 29 insertions, 0 deletions
diff --git a/log.pl b/log.pl
new file mode 100755
index 0000000..468d322
--- /dev/null
+++ b/log.pl
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+use strict;
+use AnyEvent;
+use AnyEvent::Socket;
+use AnyEvent::Handle;
+
+my $log_socket = '/tmp/log.sock';
+
+my $cv = AnyEvent->condvar;
+
+tcp_connect 'unix/', $log_socket, sub {
+ my ($fh) = @_ or die "Unable to connect: $!";
+
+ my $h; $h = new AnyEvent::Handle
+ fh => $fh,
+ on_eof => sub { $h->destroy; $cv->send; },
+ on_error => sub { die("Connection closed."); };
+
+ while (<STDIN>) {
+ $h->push_write($_);
+ }
+
+ $h->push_shutdown;
+ $h->destroy;
+ $cv->send;
+};
+
+$cv->recv;