diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 1f9cd5d5f03e94ab6d68e8834edd56ebf8b95f94..340a0d3852751d91f49582c9d442d925c41a251c 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -2406,6 +2406,10 @@ void output_thread(void* arg) if(sbbs->ssh_mode) { int err; pthread_mutex_lock(&sbbs->ssh_mutex); + if(sbbs->terminate_output_thread) { + pthread_mutex_unlock(&sbbs->ssh_mutex); + break; + } if (cryptStatusError((err=cryptSetAttribute(sbbs->ssh_session, CRYPT_SESSINFO_SSH_CHANNEL, sbbs->session_channel)))) { GCES(err, sbbs->cfg.node_num, sbbs->ssh_session, "setting channel"); ssh_errors++;