version 1.62, 2020/03/19 13:43:18 |
version 1.63, 2020/03/21 13:15:38 |
|
|
{ |
{ |
struct cmd_run_shell_data *cdata = job_get_data(job); |
struct cmd_run_shell_data *cdata = job_get_data(job); |
struct bufferevent *event = job_get_event(job); |
struct bufferevent *event = job_get_event(job); |
|
struct cmdq_item *item = cdata->item; |
char *cmd = cdata->cmd, *msg = NULL, *line; |
char *cmd = cdata->cmd, *msg = NULL, *line; |
size_t size; |
size_t size; |
int retcode, status; |
int retcode, status; |
|
|
} else if (WIFSIGNALED(status)) { |
} else if (WIFSIGNALED(status)) { |
retcode = WTERMSIG(status); |
retcode = WTERMSIG(status); |
xasprintf(&msg, "'%s' terminated by signal %d", cmd, retcode); |
xasprintf(&msg, "'%s' terminated by signal %d", cmd, retcode); |
|
retcode += 128; |
} |
} |
if (msg != NULL) |
if (msg != NULL) |
cmd_run_shell_print(job, msg); |
cmd_run_shell_print(job, msg); |
free(msg); |
free(msg); |
|
|
if (cdata->item != NULL) |
if (item != NULL) { |
cmdq_continue(cdata->item); |
if (item->client != NULL && item->client->session == NULL) |
|
item->client->retval = retcode; |
|
cmdq_continue(item); |
|
} |
} |
} |
|
|
static void |
static void |