version 1.145, 2020/05/26 08:41:47 |
version 1.146, 2020/06/01 09:43:00 |
|
|
client_exec(client_execshell, client_execcmd); |
client_exec(client_execshell, client_execcmd); |
} |
} |
|
|
|
/* Restore streams to blocking. */ |
|
setblocking(STDIN_FILENO, 1); |
|
setblocking(STDOUT_FILENO, 1); |
|
setblocking(STDERR_FILENO, 1); |
|
|
/* Print the exit message, if any, and exit. */ |
/* Print the exit message, if any, and exit. */ |
if (client_attached) { |
if (client_attached) { |
if (client_exitreason != CLIENT_EXIT_NONE) |
if (client_exitreason != CLIENT_EXIT_NONE) |
|
|
ppid = getppid(); |
ppid = getppid(); |
if (client_exittype == MSG_DETACHKILL && ppid > 1) |
if (client_exittype == MSG_DETACHKILL && ppid > 1) |
kill(ppid, SIGHUP); |
kill(ppid, SIGHUP); |
} else if (client_flags & CLIENT_CONTROLCONTROL) { |
} else if (client_flags & CLIENT_CONTROL) { |
if (client_exitreason != CLIENT_EXIT_NONE) |
if (client_exitreason != CLIENT_EXIT_NONE) |
printf("%%exit %s\n", client_exit_message()); |
printf("%%exit %s\n", client_exit_message()); |
else |
else |
printf("%%exit\n"); |
printf("%%exit\n"); |
printf("\033\\"); |
if (client_flags & CLIENT_CONTROLCONTROL) { |
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio); |
printf("\033\\"); |
|
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio); |
|
} |
} else if (client_exitreason != CLIENT_EXIT_NONE) |
} else if (client_exitreason != CLIENT_EXIT_NONE) |
fprintf(stderr, "%s\n", client_exit_message()); |
fprintf(stderr, "%s\n", client_exit_message()); |
setblocking(STDIN_FILENO, 1); |
|
setblocking(STDOUT_FILENO, 1); |
|
setblocking(STDERR_FILENO, 1); |
|
return (client_exitval); |
return (client_exitval); |
} |
} |
|
|