Signed-off-by: Jaroslav Kysela <perex@perex.cz>
break;
case SEQUENCE_ELEMENT_TYPE_EXEC:
err = system(s->data.exec);
- if (err < 0)
+ if (WIFSIGNALED(err)) {
+ err = -EINTR;
+ } if (WIFEXITED(err)) {
+ if (WEXITSTATUS(err) != 0) {
+ uc_error("command '%s' failed (exit code %d)", s->data.exec, WEXITSTATUS(err));
+ err = -EINVAL;
+ goto __fail;
+ }
+ } else if (err < 0) {
+ err = -errno;
goto __fail;
+ }
break;
case SEQUENCE_ELEMENT_TYPE_CMPT_SEQ:
/* Execute enable or disable sequence of a component