Take a stab at having xcatd itself filter out potentially circular preprocess_request invocations

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11468 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2012-02-03 18:21:28 +00:00
parent 3caf74fbe4
commit f813d2e20f

View File

@ -1302,7 +1302,7 @@ sub dispatch_request {
#Since plugins may commonly experience this, a preprocess_request implementation
#will for now be required for a command to be scaled through service nodes
#If the plugin offers a preprocess method, use it to set the request array
if (defined(${"xCAT_plugin::".$modname."::"}{preprocess_request})) {
if ((not (defined $request->{_xcatpreprocessed}->[0] and $request->{_xcatpreprocessed}->[0] == 1)) and (defined(${"xCAT_plugin::".$modname."::"}{preprocess_request}))) {
$SIG{CHLD}='DEFAULT';
$reqs = ${"xCAT_plugin::".$modname."::"}{preprocess_request}->($req,$dispatch_cb,\&do_request);
} else { #otherwise, pass it in without hierarchy support