Browse Source

explicit release

ENGINE-781 Release_2.1.0-RC22
Volker Birk 5 years ago
parent
commit
97a554f25e
  1. 18
      message_cache.cc
  2. 2
      message_cache.hh

18
message_cache.cc

@ -81,13 +81,20 @@ namespace pEp {
} }
PEP_STATUS MessageCache::cache_release(const char *id) PEP_STATUS MessageCache::cache_release(const char *id)
{
message_cache.release(id);
return PEP_STATUS_OK;
}
void MessageCache::release(std::string id)
{ {
try { try {
std::lock_guard<std::mutex> l(message_cache._mtx); std::lock_guard<std::mutex> l(message_cache._mtx);
message_cache._cache.erase(std::string(id)); ::free_message(_cache.at(id).src);
::free_message(_cache.at(id).dst);
_cache.erase(id);
} }
catch (...) { } catch (...) { }
return PEP_STATUS_OK;
} }
static char *dup(const char *src) static char *dup(const char *src)
@ -348,12 +355,7 @@ namespace pEp {
has_pEp_msg_attachment); has_pEp_msg_attachment);
::free_message(_msg); ::free_message(_msg);
{ cache_release(msg->id);
std::lock_guard<std::mutex> l(_mtx);
::free_message(_cache.at(msg->id).src);
::free_message(_cache.at(msg->id).dst);
_cache.erase(msg->id);
}
return status; return status;
} }

2
message_cache.hh

@ -75,6 +75,8 @@ namespace pEp {
static PEP_STATUS cache_release(const char *id); static PEP_STATUS cache_release(const char *id);
protected: protected:
void release(std::string id);
PEP_STATUS mime_decode_message( PEP_STATUS mime_decode_message(
const char *mimetext, const char *mimetext,
size_t size, size_t size,

Loading…
Cancel
Save