From 59ef9e2aa5bc16e1dd1619e7f031687371bd44de Mon Sep 17 00:00:00 2001 From: Nicolas Viennot Date: Sat, 2 Jan 2016 11:02:15 -0500 Subject: [PATCH] Use a session termination message --- tmate-daemon-decoder.c | 7 +++++++ tmate-protocol.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/tmate-daemon-decoder.c b/tmate-daemon-decoder.c index ff2c5dc4..ee8cdb82 100644 --- a/tmate-daemon-decoder.c +++ b/tmate-daemon-decoder.c @@ -348,6 +348,12 @@ static void tmate_write_copy_mode(__unused struct tmate_session *session, free(str); } +static void tmate_fin(__unused struct tmate_session *session, + __unused struct tmate_unpacker *uk) +{ + request_server_termination(); +} + void tmate_dispatch_daemon_message(struct tmate_session *session, struct tmate_unpacker *uk) { @@ -362,6 +368,7 @@ void tmate_dispatch_daemon_message(struct tmate_session *session, dispatch(TMATE_OUT_STATUS, tmate_status); dispatch(TMATE_OUT_SYNC_COPY_MODE, tmate_sync_copy_mode); dispatch(TMATE_OUT_WRITE_COPY_MODE, tmate_write_copy_mode); + dispatch(TMATE_OUT_FIN, tmate_fin); default: tmate_fatal("Bad message type: %d", cmd); } } diff --git a/tmate-protocol.h b/tmate-protocol.h index adca8071..0897dc4f 100644 --- a/tmate-protocol.h +++ b/tmate-protocol.h @@ -49,6 +49,7 @@ enum tmate_daemon_out_msg_types { TMATE_OUT_STATUS, TMATE_OUT_SYNC_COPY_MODE, TMATE_OUT_WRITE_COPY_MODE, + TMATE_OUT_FIN, }; /* @@ -65,6 +66,7 @@ enum tmate_daemon_out_msg_types { [int: type, string: input_prompt, string: input_str]]) // Any of the array can be [] [TMATE_OUT_WRITE_COPY_MODE, int: pane_id, string: str] +[TMATE_OUT_FIN] */ enum tmate_daemon_in_msg_types {