2
다음과 같은 코드가 있습니다. 나는 그것이 2 ~ 3 번 충돌 코드 (10) 시간을 실행하는 경우처럼Perl Net :: SSH2 쓰레드 크래킹
perl: ath.c:193: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)' failed.
: 내 문제는 다음과 같은 오류와 함께 임의의 기준에서 충돌이다. 그것을 고치는 방법?
use warnings;
use strict;
use Net::SSH2;
use threads;
sub gsmExec {
$host = $_[0];
$port = $_[1];
$user = $_[2];
$pass = $_[3];
my $modem = Net::SSH2->new();
print "Trying to connect host $host : $port \n";
if($modem->connect($host,$port)) {
print "connected to host ..\n";
if ($modem->auth_password($user,$password) {
print "Authorized!!";
}
}
}
for(my $j = 1; $j <= $modemCount; $j++){
$thrList[$j] = threads->create(\&gsmExec,'host',22,'user','pass');
}
. 유일한 해결책은 그것을 찾고 수정하는 것입니다. – salva
흠 .. 나는 스레드를 포크로 바꿨다. 그것은 내 문제를 해결했다. –
Linux/Unix 상자에서 스크립트를 실행하려면 [Net :: OpenSSH] (https://metacpan.org/pod/Net::OpenSSH) [:: Parallel] (https : //metacpan.org/pod/Net :: OpenSSH :: Parallel) 대신에! – salva