From 81ee69010d5736230abb5441089d70b4e5a4afbf Mon Sep 17 00:00:00 2001 From: holger krekel Date: Wed, 4 May 2022 10:41:44 +0200 Subject: [PATCH] add a comment, fix a typo in debug message --- deltachat-ffi/src/lib.rs | 2 +- python/src/deltachat/account.py | 2 +- src/context.rs | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index cf5ed81ea..04d039a5f 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -657,7 +657,7 @@ pub unsafe extern "C" fn dc_get_next_event(events: *mut dc_event_emitter_t) -> * #[no_mangle] pub unsafe extern "C" fn dc_stop_io(context: *mut dc_context_t) { if context.is_null() { - eprintln!("ignoring careless call to dc_shutdown()"); + eprintln!("ignoring careless call to dc_stop_io()"); return; } let ctx = &*context; diff --git a/python/src/deltachat/account.py b/python/src/deltachat/account.py index 3a895c292..4d2d13338 100644 --- a/python/src/deltachat/account.py +++ b/python/src/deltachat/account.py @@ -710,7 +710,7 @@ class Account(object): if self._event_thread.is_alive(): self.log("WARN: event thread did not terminate yet, ignoring.") - self.log("remove dc_context references, making the Account unusuable") + self.log("remove dc_context references, making the Account unusable") self._dc_context = None self._shutdown_event.set() diff --git a/src/context.rs b/src/context.rs index 9286552be..f37341b5e 100644 --- a/src/context.rs +++ b/src/context.rs @@ -202,6 +202,11 @@ impl Context { /// Stops the IO scheduler. pub async fn stop_io(&self) { + // Sending an event wakes up event pollers (get_next_event) + // so the caller of stop_io() can arrange for proper termination. + // For this, the caller needs to instruct the event poller + // to terminate on receiving the next event and then call stop_io() + // which will emit the below event(s) info!(self, "stopping IO"); if let Err(err) = self.inner.stop_io().await {