mirror of
https://github.com/tmate-io/tmate.git
synced 2025-06-09 03:06:51 +02:00
Provide better reconnection error message
This commit is contained in:
parent
46a29037d4
commit
c9813a8c42
@ -157,7 +157,7 @@ static void on_reconnect_retry(__unused evutil_socket_t fd, __unused short what,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void tmate_reconnect_session(struct tmate_session *session)
|
void tmate_reconnect_session(struct tmate_session *session, const char *message)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* We no longer have an SSH connection. Time to reconnect.
|
* We no longer have an SSH connection. Time to reconnect.
|
||||||
@ -171,6 +171,9 @@ void tmate_reconnect_session(struct tmate_session *session)
|
|||||||
on_reconnect_retry, session);
|
on_reconnect_retry, session);
|
||||||
evtimer_add(&session->ev_connection_retry, &tv);
|
evtimer_add(&session->ev_connection_retry, &tv);
|
||||||
|
|
||||||
|
if (message)
|
||||||
|
tmate_status_message("Reconnecting... (%s)", message);
|
||||||
|
else
|
||||||
tmate_status_message("Reconnecting...");
|
tmate_status_message("Reconnecting...");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -395,14 +395,16 @@ static void kill_ssh_client(struct tmate_ssh_client *client,
|
|||||||
{
|
{
|
||||||
bool last_client;
|
bool last_client;
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
char *message = NULL;
|
||||||
|
|
||||||
TAILQ_REMOVE(&client->tmate_session->clients, client, node);
|
TAILQ_REMOVE(&client->tmate_session->clients, client, node);
|
||||||
last_client = TAILQ_EMPTY(&client->tmate_session->clients);
|
last_client = TAILQ_EMPTY(&client->tmate_session->clients);
|
||||||
|
|
||||||
if (fmt && last_client) {
|
if (fmt && last_client) {
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
__tmate_status_message(fmt, ap);
|
xvasprintf(&message, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
tmate_status_message("%s", message);
|
||||||
}
|
}
|
||||||
|
|
||||||
tmate_debug("SSH client killed (%s)", client->server_ip);
|
tmate_debug("SSH client killed (%s)", client->server_ip);
|
||||||
@ -429,7 +431,7 @@ static void kill_ssh_client(struct tmate_ssh_client *client,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (last_client)
|
if (last_client)
|
||||||
tmate_reconnect_session(client->tmate_session);
|
tmate_reconnect_session(client->tmate_session, message);
|
||||||
|
|
||||||
free(client->server_ip);
|
free(client->server_ip);
|
||||||
free(client);
|
free(client);
|
||||||
|
2
tmate.h
2
tmate.h
@ -195,7 +195,7 @@ struct tmate_session {
|
|||||||
extern struct tmate_session tmate_session;
|
extern struct tmate_session tmate_session;
|
||||||
extern void tmate_session_init(struct event_base *base);
|
extern void tmate_session_init(struct event_base *base);
|
||||||
extern void tmate_session_start(void);
|
extern void tmate_session_start(void);
|
||||||
extern void tmate_reconnect_session(struct tmate_session *session);
|
extern void tmate_reconnect_session(struct tmate_session *session, const char *message);
|
||||||
|
|
||||||
/* tmate-debug.c */
|
/* tmate-debug.c */
|
||||||
extern void tmate_print_stack_trace(void);
|
extern void tmate_print_stack_trace(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user