From 9497d7cf64af4eb8ad7798d5fa086d6f32e5213b Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Thu, 6 Jun 2024 20:31:24 -0400 Subject: [PATCH] Fix some shutdown hangs/leaks. --- src/ssb.db.c | 5 ++++- src/ssb.rpc.c | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ssb.db.c b/src/ssb.db.c index 8486a230..e82fa5ac 100644 --- a/src/ssb.db.c +++ b/src/ssb.db.c @@ -648,7 +648,10 @@ typedef struct _blob_store_work_t static void _tf_ssb_db_blob_store_work(tf_ssb_t* ssb, void* user_data) { blob_store_work_t* blob_work = user_data; - tf_ssb_db_blob_store(ssb, blob_work->blob, blob_work->size, blob_work->id, sizeof(blob_work->id), &blob_work->is_new); + if (!tf_ssb_is_shutting_down(ssb)) + { + tf_ssb_db_blob_store(ssb, blob_work->blob, blob_work->size, blob_work->id, sizeof(blob_work->id), &blob_work->is_new); + } } static void _tf_ssb_db_blob_store_after_work(tf_ssb_t* ssb, int status, void* user_data) diff --git a/src/ssb.rpc.c b/src/ssb.rpc.c index 339871fe..9cade1fe 100644 --- a/src/ssb.rpc.c +++ b/src/ssb.rpc.c @@ -776,6 +776,10 @@ static void _tf_ssb_connection_send_history_stream_callback(tf_ssb_connection_t* { tf_ssb_connection_run_work(connection, _tf_ssb_connection_send_history_stream_work, _tf_ssb_connection_send_history_stream_after_work, user_data); } + else + { + _tf_ssb_connection_send_history_stream_after_work(connection, -1, user_data); + } } static void _tf_ssb_connection_send_history_stream(tf_ssb_connection_t* connection, int32_t request_number, const char* author, int64_t sequence, bool keys, bool live)