pans
2017-01-13 bd64063bd5f2adfdedc7caa609f6554a78c79ab0
RtspFace/SensetimeFaceAPIWrapper/src/FaceDBPool.cpp
@@ -1,5 +1,5 @@
#include "FaceDBPool.h"
#include "logger.h"
#include "../../logger.h"
#include "faceAPI.h"
#include <pthread.h>
@@ -26,7 +26,7 @@
struct MutexLocker
{
   pthread_mutex_t* mut;
   MutexLocker(pthread_mutex_t* _mut) : mut(_mut)
   MutexLocker(void* _mut) : mut((pthread_mutex_t*)_mut)
   {
      PLP_MUTEX_LOCK(mut,);
   }
@@ -44,12 +44,12 @@
   
   ThreadSafeFaceDB() : dbid(-1), db_mutex(), api(nullptr)
   {
      pthread_mutex_init(db_mutex, NULL);
      pthread_mutex_init(&db_mutex, NULL);
   }
   
   ~ThreadSafeFaceDB()
   {
      pthread_mutex_destroy(db_mutex);
      pthread_mutex_destroy(&db_mutex);
   }
};
@@ -69,12 +69,12 @@
   facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
   for (facedb_map_t::iterator iter = _face_db_map->begin(); iter != _face_db_map->end(); ++iter)
   {
      iter->second.api->db_save();
      delete iter->second.api;
      iter->second->api->db_save();
      delete iter->second->api;
      delete iter->second;
   }
   
   _face_db_map.clear();
   _face_db_map->clear();
   
   pthread_mutex_destroy((pthread_mutex_t*)pool_mutex);
   delete (pthread_mutex_t*)pool_mutex;
@@ -90,14 +90,14 @@
   
   facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
   
   if (_face_db_map.find(dbid) != _face_db_map.end())
   if (_face_db_map->find(dbid) != _face_db_map->end())
      return;
   
   ThreadSafeFaceDB* tsfdb = new ThreadSafeFaceDB;
   tsfdb.dbid = dbid;
   tsfdb.api = db;
   tsfdb->dbid = dbid;
   tsfdb->api = db;
   
   _face_db_map.insert(std::make_pair(dbid, tsfdb));
   _face_db_map->insert(std::make_pair(dbid, tsfdb));
}
void FaceDBPool::unmanage(int dbid)
@@ -105,15 +105,15 @@
   MutexLocker _ml(pool_mutex);
   facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
   facedb_map_t::iterator iter = _face_db_map.find(dbid);
   if (iter == _face_db_map.end())
   facedb_map_t::iterator iter = _face_db_map->find(dbid);
   if (iter == _face_db_map->end())
      return;
   
   iter->second.api->db_save();
   delete iter->second.api;
   iter->second->api->db_save();
   delete iter->second->api;
   delete iter->second;
   
   _face_db_map.erase(iter);
   _face_db_map->erase(iter);
}
faceAPI* FaceDBPool::get_free(int dbid)
@@ -124,11 +124,11 @@
      MutexLocker _ml(pool_mutex);
      
      facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
      if (_face_db_map.empty())
      if (_face_db_map->empty())
         return nullptr;
      
      facedb_map_t::iterator iter = _face_db_map.find(dbid);
      if (iter == _face_db_map.end())
      facedb_map_t::iterator iter = _face_db_map->find(dbid);
      if (iter == _face_db_map->end())
         return nullptr;
      
      tsfdb = iter->second;
@@ -136,7 +136,7 @@
   if (tsfdb != nullptr)
   {
      PLP_MUTEX_LOCK(tsfdb->db_mutex, nullptr);
      PLP_MUTEX_LOCK(&(tsfdb->db_mutex), nullptr);
      return tsfdb->api;
   }
}
@@ -149,18 +149,18 @@
      MutexLocker _ml(pool_mutex);
      
      facedb_map_t* _face_db_map = (facedb_map_t*)face_db_map;
      if (_face_db_map.empty())
      if (_face_db_map->empty())
         return;
      
      facedb_map_t::iterator iter = _face_db_map.find(dbid);
      if (iter == _face_db_map.end())
         return nullptr;
      facedb_map_t::iterator iter = _face_db_map->find(dbid);
      if (iter == _face_db_map->end())
         return;
      
      tsfdb = iter->second;
   }
   
   if (tsfdb != nullptr)
   {
      PLP_MUTEX_UNLOCK(tsfdb->db_mutex,);
      PLP_MUTEX_UNLOCK(&(tsfdb->db_mutex),);
   }
}