diff --git a/perl-xCAT-2.0/xCAT/Client.pm b/perl-xCAT-2.0/xCAT/Client.pm index 360d43f04..61e135442 100644 --- a/perl-xCAT-2.0/xCAT/Client.pm +++ b/perl-xCAT-2.0/xCAT/Client.pm @@ -6,9 +6,11 @@ BEGIN $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : -d '/opt/xcat' ? '/opt/xcat' : '/usr'; } use lib "$::XCATROOT/lib/perl"; -use xCAT::NodeRange; -use xCAT::Utils; -use xCAT::Table; +if ($ENV{XCATBYPASS}) { + require xCAT::NodeRange; + require xCAT::Utils; + require xCAT::Table; +} my $inet6support; use IO::Socket::SSL; diff --git a/xCAT-server-2.0/sbin/xcatd b/xCAT-server-2.0/sbin/xcatd index 2caab8ae4..40e2bb5aa 100755 --- a/xCAT-server-2.0/sbin/xcatd +++ b/xCAT-server-2.0/sbin/xcatd @@ -608,7 +608,8 @@ sub plugin_command { } } unless ($sock) { return $Main::resps }; - while ($children > 0) { + #while ($children > 0) { + while ($check_fds->count > 0) { #this tracks end of useful data from children much more closely relay_fds($check_fds,$sock); } #while (relay_fds($check_fds,$sock)) {} @@ -722,7 +723,8 @@ sub dispatch_request { } exit; } - while ($childrn > 0) { relay_dispatch($child_fdset) } + #while ($childrn > 0) { relay_dispatch($child_fdset) } + while ($child_fdset->count > 0) { relay_dispatch($child_fdset) } while (relay_dispatch($child_fdset)) { } #Potentially useless drain. }