Add a feature for xCATd to delay subrequests as dictated by plugin preprocess_request

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11439 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2012-01-31 14:19:53 +00:00
parent 6a7b71378e
commit 017a1526ed

View File

@ -1326,6 +1326,7 @@ sub dispatch_request {
}
if ($onlyone and not ($_->{'_xcatdest'} and xCAT::Utils->thishostisnot($_->{'_xcatdest'}))) {
$SIG{CHLD}='DEFAULT';
if ($_->{'_xcatdelay'}) { sleep $_->{'_xcatdelay'}; }
${"xCAT_plugin::".$modname."::"}{process_request}->($_,$dispatch_cb,\&do_request);
return;
}
@ -1355,6 +1356,7 @@ sub dispatch_request {
$dispatch_parentfd = $parfd;
my @prexcatdests=();
my @xcatdests=();
if ($_->{'_xcatdelay'}) { sleep $_->{'_xcatdelay'}; }
if (ref($_->{'_xcatdest'}) eq 'ARRAY') { #If array, consider it an 'anycast' operation, broadcast done through dupe
#requests, or an alternative join '&' maybe?
@prexcatdests=@{$_->{'_xcatdest'}};