| 414 | } |
| 415 | |
| 416 | void DBManager::Run() |
| 417 | { |
| 418 | // Initialize DB threadsafety. |
| 419 | for (size_t i=0; i < m_drivers.size(); i++) |
| 420 | { |
| 421 | if (m_drivers[i]->IsThreadSafe()) |
| 422 | m_drSafety.push_back(m_drivers[i]->InitializeThreadSafety()); |
| 423 | else |
| 424 | m_drSafety.push_back(false); |
| 425 | } |
| 426 | |
| 427 | // Run actual worker thread logic. |
| 428 | ThreadMain(); |
| 429 | |
| 430 | // Shutdown DB threadsafety. |
| 431 | for (size_t i=0; i<m_drivers.size(); i++) |
| 432 | { |
| 433 | if (m_drSafety[i]) |
| 434 | m_drivers[i]->ShutdownThreadSafety(); |
| 435 | } |
| 436 | m_drSafety.clear(); |
| 437 | } |
| 438 | |
| 439 | void DBManager::ThreadMain() |
| 440 | { |
no test coverage detected