version 1.112, 2003/06/28 16:23:06 |
version 1.113, 2003/09/19 17:43:35 |
|
|
if (in_non_blocking_mode) { |
if (in_non_blocking_mode) { |
(void) fcntl(fileno(stdin), F_SETFL, 0); |
(void) fcntl(fileno(stdin), F_SETFL, 0); |
in_non_blocking_mode = 0; |
in_non_blocking_mode = 0; |
fatal_remove_cleanup((void (*) (void *)) leave_non_blocking, NULL); |
|
} |
} |
} |
} |
|
|
|
|
{ |
{ |
in_non_blocking_mode = 1; |
in_non_blocking_mode = 1; |
(void) fcntl(fileno(stdin), F_SETFL, O_NONBLOCK); |
(void) fcntl(fileno(stdin), F_SETFL, O_NONBLOCK); |
fatal_add_cleanup((void (*) (void *)) leave_non_blocking, NULL); |
|
} |
} |
|
|
/* |
/* |
|
|
id, session_ident); |
id, session_ident); |
channel_cancel_cleanup(id); |
channel_cancel_cleanup(id); |
session_closed = 1; |
session_closed = 1; |
if (in_raw_mode()) |
leave_raw_mode(); |
leave_raw_mode(); |
|
} |
} |
|
|
/* |
/* |
|
|
if (!isatty(fileno(stderr))) |
if (!isatty(fileno(stderr))) |
unset_nonblock(fileno(stderr)); |
unset_nonblock(fileno(stderr)); |
|
|
if (received_signal) { |
if (received_signal) |
if (in_non_blocking_mode) /* XXX */ |
|
leave_non_blocking(); |
|
fatal("Killed by signal %d.", (int) received_signal); |
fatal("Killed by signal %d.", (int) received_signal); |
} |
|
|
|
/* |
/* |
* In interactive mode (with pseudo tty) display a message indicating |
* In interactive mode (with pseudo tty) display a message indicating |
|
|
client_init_dispatch_13(); |
client_init_dispatch_13(); |
else |
else |
client_init_dispatch_15(); |
client_init_dispatch_15(); |
|
} |
|
|
|
/* client specific fatal cleanup */ |
|
void |
|
fatal(const char *fmt,...) |
|
{ |
|
va_list args; |
|
|
|
va_start(args, fmt); |
|
do_log(SYSLOG_LEVEL_FATAL, fmt, args); |
|
va_end(args); |
|
leave_raw_mode(); |
|
leave_non_blocking(); |
|
_exit(255); |
} |
} |