com_err(whoami, status, " running %s", dfgen_prog);
waits.w_status = system(dfgen_cmd);
- /* extract the process's exit value */
- status = waits.w_retcode;
- if (status) {
- status += sms_err_base;
+ if (waits.w_termsig) {
+ status = SMS_TAR_FAIL;
+ com_err(whoami, status, " %s exited on signal %d",
+ dfgen_prog, waits.w_termsig);
+ } else if (waits.w_retcode) {
+ /* extract the process's exit value */
+ status = waits.w_retcode + sms_err_base;
com_err(whoami, status, " %s exited", dfgen_prog);
}
if (SOFT_FAIL(status)) {