diff --git a/xCAT-server-2.0/sbin/xcatd b/xCAT-server-2.0/sbin/xcatd index 78687c395..66cb02fd6 100755 --- a/xCAT-server-2.0/sbin/xcatd +++ b/xCAT-server-2.0/sbin/xcatd @@ -551,6 +551,7 @@ sub plugin_command { if ($dispatch_requests) { dispatch_request($req,$callback,$modname); } else { + undef $SIG{CHLD}; ${"xCAT_plugin::".$modname."::"}{process_request}->($req,$callback,\&do_request); } $$progname=$oldprogname; @@ -634,6 +635,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 + undef $SIG{CHLD}; if (defined(${"xCAT_plugin::".$modname."::"}{preprocess_request})) { $reqs = ${"xCAT_plugin::".$modname."::"}{preprocess_request}->($req,$dispatch_cb,\&do_request); } else { #otherwise, pass it in without hierarchy support @@ -671,6 +673,7 @@ sub dispatch_request { syslog("local4|err","Error dispatching request: ".$@); } } else { + undef $SIG{CHLD}; ${"xCAT_plugin::".$modname."::"}{process_request}->($_,\&dispatch_callback,\&do_request); } exit;