Új hozzászólás Aktív témák

  • Jester01

    veterán

    válasz Jester01 #12 üzenetére

    Az történik, hogy timeout-ol a socket olvasás, csak bugos a munin és nem veszi észre.
    A timeout alapból 180 sec, ez jól egyezik a logodban szereplõ idõvel.
    A kérdéses rész a read_socket_single és a read_socket rutinokban van:

    local $SIG{ALRM} = sub { $timed_out=1; close $socket; exit 1;};
    alarm( $timeout );
    $res = <$socket>;
    chomp $res if defined $res;
    alarm 0;
    };
    if ($timed_out)
    {
    logger (''Socket read timed out: $@\n'');
    return undef;
    }

    A signal handlerben sajnos van egy ''exit'' ami kilép a processzbõl, így sosem kerül a vezérlés a logoló sorra. Javításként töröld az exit-et (ettõl aztán lehet, hogy végtelen ciklus lesz, attól függõen, hogy a socket olvasást automatikusan újrapróbálja-e a perl), vagy tedd be elé a logolást (ez mindenképp mûködni fog).

    MOD: látom közben te is haladtál :C viszont most mintha nem lenne bekapcsolva a debug :F

    [Szerkesztve]

Új hozzászólás Aktív témák