-if ($send_cmd && eval {
- my $path = do {
- my $runtime_dir = ($ENV{XDG_RUNTIME_DIR} // '') . '/lei';
- if ($runtime_dir eq '/lei') {
- require File::Spec;
- $runtime_dir = File::Spec->tmpdir."/lei-$<";
- }
- unless (-d $runtime_dir) {
- require File::Path;
- File::Path::mkpath($runtime_dir, 0, 0700);
- }
- "$runtime_dir/$narg.seq.sock";
- };
- my $addr = pack_sockaddr_un($path);
- socket($sock, AF_UNIX, SOCK_SEQPACKET, 0) or die "socket: $!";
- unless (connect($sock, $addr)) { # start the daemon if not started
- local $ENV{PERL5LIB} = join(':', @INC);
- open(my $daemon, '-|', $^X, qw[-MPublicInbox::LEI
- -E PublicInbox::LEI::lazy_start(@ARGV)],
- $path, $! + 0, $narg) or die "popen: $!";
- while (<$daemon>) { warn $_ } # EOF when STDERR is redirected
- close($daemon) or warn <<"";
+my $runtime_dir = ($ENV{XDG_RUNTIME_DIR} // '') . '/lei';
+if ($runtime_dir eq '/lei') {
+ require File::Spec;
+ $runtime_dir = File::Spec->tmpdir."/lei-$<";
+}
+unless (-d $runtime_dir) {
+ require File::Path;
+ File::Path::make_path($runtime_dir, { mode => 0700 });
+}
+my $path = "$runtime_dir/$narg.seq.sock";
+my $addr = pack_sockaddr_un($path);
+socket($sock, AF_UNIX, SOCK_SEQPACKET, 0) or die "socket: $!";
+unless (connect($sock, $addr)) { # start the daemon if not started
+ local $ENV{PERL5LIB} = join(':', @INC);
+ open(my $daemon, '-|', $^X, qw[-MPublicInbox::LEI
+ -E PublicInbox::LEI::lazy_start(@ARGV)],
+ $path, $! + 0, $narg) or die "popen: $!";
+ while (<$daemon>) { warn $_ } # EOF when STDERR is redirected
+ close($daemon) or warn <<"";