Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^2: using Net::OpenSSH in a MCE worker thread

by Andy16 (Acolyte)
on Jun 28, 2013 at 10:51 UTC ( #1041215=note: print w/ replies, xml ) Need Help??


in reply to Re: using Net::OpenSSH in a MCE worker thread
in thread using Net::OpenSSH in a MCE worker thread

Hi - sorry, but
=> debug did not do any lines
=> no furhter message than "just gone" ....

meanwhile (see above) I'm sure it is realted to an eval loading a missing pm...

thanks!


Comment on Re^2: using Net::OpenSSH in a MCE worker thread
Re^3: using Net::OpenSSH in a MCE worker thread
by Andy16 (Acolyte) on Jun 28, 2013 at 11:33 UTC

    taken from OpenSSH.pm


    sub _load_module { my ($module, $version) = @_; $loaded_module{$module} ||= do { do { local ($@, $SIG{__DIE__}); eval "require $module; 1" } or croak "unable to load Perl module $module"; 1 }; if (defined $version) { local ($@, $SIG{__DIE__}); my $mv = eval "\$${module}::VERSION" || 0; (my $mv1 = $mv) =~ s/_\d*$//; croak "$module version $version required, $mv is available" if $mv1 < $version; } 1 }


    somewhere in here it breaks... if pm not preloaded and in MCE context.

      oops, there is a bug in that part of the code that causes it to fail silently (instead of failing with an error that tells you what has gone wrong).

      Try replacing it by the following version:

      sub _load_module { my ($module, $version) = @_; $loaded_module{$module} ||= do { do { local ($@, $SIG{__DIE__}); eval "require $module; 1" } or croak "unable to load Perl module $module"; 1 }; if (defined $version) { my $mv = do { local ($@, $SIG{__DIE__}); eval "\$${module}::VERSION" || 0; }; (my $mv1 = $mv) =~ s/_\d*$//; croak "$module version $version required, $mv is available" if $mv1 < $version; } 1 }
        Hi salva - thats fast! :)

        tried, but with no success... Problem, MCE worker threads have no strout/stderr to use...

        I don't get the magic of that code, but if I preload IO::Pty it works.
        Your change was for a load having a version - and IP::Pty is loaded without version specified.

        to me it still points towards using signals while running in MCE....

        hope it helps

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1041215]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2014-07-31 01:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (244 votes), past polls