-Have Client startup faster by not doing use on xCAT::* unless XCATBYPASS

-Change some output forwarding loops to exit tenths of a second sooner than before (no further child output in a detectible fashion can be detected by filehandles in the fdset much sooner than child process exit completion)


git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@874 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2008-03-24 16:14:59 +00:00
parent 6df1ac73c9
commit 250e37795c
2 changed files with 9 additions and 5 deletions

View File

@ -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;

View File

@ -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.
}