| | |
| | | {
|
| | | int dbid;
|
| | | pthread_mutex_t db_mutex;
|
| | | faceAPI* api;
|
| | | FaceDB* api;
|
| | |
|
| | | ThreadSafeFaceDB() : dbid(-1), db_mutex(), api(nullptr)
|
| | | {
|
| | |
| | | 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();
|
| | | iter->second->api->finally();
|
| | | delete iter->second->api;
|
| | | delete iter->second;
|
| | | }
|
| | |
| | | pool_mutex = nullptr;
|
| | | }
|
| | |
|
| | | void FaceDBPool::manage(int dbid, faceAPI* db)
|
| | | void FaceDBPool::manage(int dbid, FaceDB* db)
|
| | | {
|
| | | if (dbid < 0 || db == nullptr)
|
| | | return;
|
| | |
| | | if (iter == _face_db_map->end())
|
| | | return;
|
| | |
|
| | | iter->second->api->db_save();
|
| | | iter->second->api->finally();
|
| | | delete iter->second->api;
|
| | | delete iter->second;
|
| | |
|
| | | _face_db_map->erase(iter);
|
| | | }
|
| | |
|
| | | faceAPI* FaceDBPool::get_free(int dbid)
|
| | | FaceDB* FaceDBPool::get_free(int dbid)
|
| | | {
|
| | | ThreadSafeFaceDB* tsfdb = nullptr;
|
| | | {
|