Browse Source

Add Adapter::inject_sync_shutdown() to be used if _adapter_manages_sync_thread

pull/8/head
heck 1 year ago
parent
commit
0517b9be69
2 changed files with 12 additions and 1 deletions
  1. +7
    -1
      src/Adapter.cc
  2. +5
    -0
      src/Adapter.hh

+ 7
- 1
src/Adapter.cc View File

@ -201,13 +201,19 @@ namespace pEp {
return _session.get();
}
// public
void inject_sync_shutdown() {
pEpLog("called");
_inject_sync_event(nullptr, nullptr);
}
// public
void shutdown()
{
pEpLog("called");
if (_sync_thread.joinable()) {
pEpLog("sync_is_running - injecting null event");
_inject_sync_event(nullptr, nullptr);
inject_sync_shutdown();
_sync_thread.join();
}
}


+ 5
- 0
src/Adapter.hh View File

@ -77,6 +77,11 @@ namespace pEp {
extern thread_local Session session;
// only injects a NULL event into sync_event_queue
// Use this if adapter_manages_sync_thread
// Inject first, then join your thread.
void inject_sync_shutdown();
// injects a NULL event into sync_event_queue to denote sync thread to
// shutdown, and joins & removes the sync thread
void shutdown();


Loading…
Cancel
Save