]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LEI.pm
lei: increase initial timeout
[public-inbox.git] / lib / PublicInbox / LEI.pm
index c0b904513a0e7bc8a814bbbbeab3af79aeed58f4..e2f22a7564a4366e46a65a3a0af82833b57f5785 100644 (file)
@@ -401,8 +401,9 @@ sub atfork_parent_wq {
        my ($self, $wq) = @_;
        my $env = delete $self->{env}; # env is inherited at fork
        my $lei = bless { %$self }, ref($self);
-       if (my $dedupe = delete $lei->{dedupe}) {
-               $lei->{dedupe} = $wq->deep_clone($dedupe);
+       for my $f (qw(dedupe ovv)) {
+               my $tmp = delete($lei->{$f}) or next;
+               $lei->{$f} = $wq->deep_clone($tmp);
        }
        $self->{env} = $env;
        delete @$lei{qw(3 -lei_store cfg old_1 pgr lxs)}; # keep l2m
@@ -823,7 +824,7 @@ sub accept_dispatch { # Listener {post_accept} callback
        $sock->autoflush(1);
        my $self = bless { sock => $sock }, __PACKAGE__;
        vec(my $rvec = '', fileno($sock), 1) = 1;
-       select($rvec, undef, undef, 1) or
+       select($rvec, undef, undef, 60) or
                return send($sock, 'timed out waiting to recv FDs', MSG_EOR);
        my @fds = $recv_cmd->($sock, my $buf, 4096 * 33); # >MAX_ARG_STRLEN
        if (scalar(@fds) == 4) {
@@ -833,7 +834,9 @@ sub accept_dispatch { # Listener {post_accept} callback
                        send($sock, "open(+<&=$fd) (FD=$i): $!", MSG_EOR);
                }
        } else {
-               return send($sock, "recv_cmd failed: $!", MSG_EOR);
+               my $msg = "recv_cmd failed: $!";
+               warn $msg;
+               return send($sock, $msg, MSG_EOR);
        }
        $self->{2}->autoflush(1); # keep stdout buffered until x_it|DESTROY
        # $ENV_STR = join('', map { "\0$_=$ENV{$_}" } keys %ENV);
@@ -860,7 +863,7 @@ sub dclose {
                if ($wq->wq_kill) {
                        $wq->wq_close
                } elsif ($wq->wq_kill_old) {
-                       $wq->wq_wait_old;
+                       $wq->wq_wait_old($self);
                }
        }
        close(delete $self->{1}) if $self->{1}; # may reap_compress
@@ -897,7 +900,6 @@ sub event_step {
 sub event_step_init {
        my ($self) = @_;
        if (my $sock = $self->{sock}) { # using DS->EventLoop
-               $sock->blocking(0);
                $self->SUPER::new($sock, EPOLLIN|EPOLLET);
        }
 }