about summary refs log tree commit homepage
path: root/lib/Devel/Mwrap/Rproxy.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Devel/Mwrap/Rproxy.pm')
-rw-r--r--lib/Devel/Mwrap/Rproxy.pm10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Devel/Mwrap/Rproxy.pm b/lib/Devel/Mwrap/Rproxy.pm
index 76b7d7f..6db72e6 100644
--- a/lib/Devel/Mwrap/Rproxy.pm
+++ b/lib/Devel/Mwrap/Rproxy.pm
@@ -41,11 +41,15 @@ sub list {
         open(my $fh, '+>', \(my $str)) or die "open: $!";
         print $fh '<html><head><title>', $t, '</title></head><body><pre>', $t,
                 "\n\n";
-        opendir(my $dh, $self->{socket_dir}) or return r(500, "socket_dir: $!");
-        my @pids = grep(/\A[0-9]+\.sock\z/, readdir($dh));
-        for (@pids) {
+        my $dir = $self->{socket_dir};
+        opendir(my $dh, $dir) or return r(500, "socket_dir: $!");
+        my @socks = grep(/\A[0-9]+\.sock\z/, readdir($dh));
+        my %o = (Type => SOCK_STREAM, Peer => undef);
+        for (@socks) {
+                $o{Peer} = "$dir/$_";
                 substr($_, -5, 5, ''); # chop off .sock
                 my $cmd = $valid_pid->($_) // next;
+                my $c = IO::Socket::UNIX->new(%o) // next;
                 print $fh qq(<a\nhref="./$_/">$_</a>/);
                 $_ .= '/each/2000';
                 say $fh qq(<a\nhref="./), $_, qq(">each/2000</a>\t), $cmd;