use Tak::ConnectionService;
use Tak::Router;
use Tak;
+use IO::Handle;
use strictures 1;
sub run {
open my $stdin, '<&', \*STDIN or die "Duping stdin: $!";
open my $stdout, '>&', \*STDOUT or die "Duping stdout: $!";
+ $stdout->autoflush(1);
# if we don't re-open them then 0 and 1 get re-used - which is not
# only potentially bloody confusing but results in warnings like:
# "Filehandle STDOUT reopened as STDIN only for input"
on_close => sub { $done = 1 }
);
$connection->receiver->service->register_weak(remote => $connection);
- if ($0 eq '-') {
- $0 = 'tak-stdio-node';
- }
+ $0 = 'tak-stdio-node';
log_debug { "Node starting" };
- print $stdout "UP\n";
+ # Tell the other end that we've finished messing around with file
+ # descriptors and that it's therefore safe to start sending requests.
+ print $stdout "Ssyshere\n";
Tak->loop_until($done);
+ if (our $Next) { goto &$Next }
}
1;