mirror of https://github.com/cy384/ssheven.git
network robustness tweaks
This commit is contained in:
parent
7b2112f107
commit
e408ed54b0
|
@ -223,6 +223,7 @@ void end_connection(void)
|
||||||
|
|
||||||
if (ssh_con.channel)
|
if (ssh_con.channel)
|
||||||
{
|
{
|
||||||
|
libssh2_channel_send_eof(ssh_con.channel);
|
||||||
libssh2_channel_close(ssh_con.channel);
|
libssh2_channel_close(ssh_con.channel);
|
||||||
libssh2_channel_free(ssh_con.channel);
|
libssh2_channel_free(ssh_con.channel);
|
||||||
libssh2_session_disconnect(ssh_con.session, "Normal Shutdown, Thank you for playing");
|
libssh2_session_disconnect(ssh_con.session, "Normal Shutdown, Thank you for playing");
|
||||||
|
@ -1040,6 +1041,7 @@ void* read_thread(void* arg)
|
||||||
// if we logged in, open and set up the tty
|
// if we logged in, open and set up the tty
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
|
libssh2_channel_handle_extended_data2(ssh_con.channel, LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE);
|
||||||
ssh_con.channel = libssh2_channel_open_session(ssh_con.session);
|
ssh_con.channel = libssh2_channel_open_session(ssh_con.session);
|
||||||
ok = ssh_setup_terminal();
|
ok = ssh_setup_terminal();
|
||||||
YieldToAnyThread();
|
YieldToAnyThread();
|
||||||
|
@ -1056,8 +1058,8 @@ void* read_thread(void* arg)
|
||||||
void* menu = GetMenuHandle(MENU_EDIT);
|
void* menu = GetMenuHandle(MENU_EDIT);
|
||||||
EnableItem(menu, 5);
|
EnableItem(menu, 5);
|
||||||
|
|
||||||
// process incoming data until we've failed or are asked to EXIT
|
// read until failure, command to EXIT, or remote EOF
|
||||||
while (read_thread_command == READ && read_thread_state == OPEN)
|
while (read_thread_command == READ && read_thread_state == OPEN && libssh2_channel_eof(ssh_con.channel) == 0)
|
||||||
{
|
{
|
||||||
if (check_network_events()) ssh_read();
|
if (check_network_events()) ssh_read();
|
||||||
YieldToAnyThread();
|
YieldToAnyThread();
|
||||||
|
|
Loading…
Reference in New Issue