=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-run-shell.c,v retrieving revision 1.62 retrieving revision 1.63 diff -c -r1.62 -r1.63 *** src/usr.bin/tmux/cmd-run-shell.c 2020/03/19 13:43:18 1.62 --- src/usr.bin/tmux/cmd-run-shell.c 2020/03/21 13:15:38 1.63 *************** *** 1,4 **** ! /* $OpenBSD: cmd-run-shell.c,v 1.62 2020/03/19 13:43:18 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha --- 1,4 ---- ! /* $OpenBSD: cmd-run-shell.c,v 1.63 2020/03/21 13:15:38 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha *************** *** 160,165 **** --- 160,166 ---- { struct cmd_run_shell_data *cdata = job_get_data(job); struct bufferevent *event = job_get_event(job); + struct cmdq_item *item = cdata->item; char *cmd = cdata->cmd, *msg = NULL, *line; size_t size; int retcode, status; *************** *** 189,201 **** } else if (WIFSIGNALED(status)) { retcode = WTERMSIG(status); xasprintf(&msg, "'%s' terminated by signal %d", cmd, retcode); } if (msg != NULL) cmd_run_shell_print(job, msg); free(msg); ! if (cdata->item != NULL) ! cmdq_continue(cdata->item); } static void --- 190,206 ---- } else if (WIFSIGNALED(status)) { retcode = WTERMSIG(status); xasprintf(&msg, "'%s' terminated by signal %d", cmd, retcode); + retcode += 128; } if (msg != NULL) cmd_run_shell_print(job, msg); free(msg); ! if (item != NULL) { ! if (item->client != NULL && item->client->session == NULL) ! item->client->retval = retcode; ! cmdq_continue(item); ! } } static void