make connector time out correctly
[scpubgit/Tak.git] / lib / Tak / STDIOSetup.pm
index fed4656..cb35399 100644 (file)
@@ -9,11 +9,13 @@ sub run {
   open my $stdin, '<&', \*STDIN;
   open my $stdout, '>&', \*STDOUT;
   close STDIN; close STDOUT;
+  my $done;
   my $connection = Tak::ConnectionService->new(
     read_fh => $stdin, write_fh => $stdout,
-    listening_service => Tak::Router->new
+    listening_service => Tak::Router->new,
+    on_close => sub { $done = 1 }
   );
-  Tak->loop->loop_forever;
+  Tak->loop_until($done);
 }
 
 1;