本文整理汇总了C++中DatabaseConnection::isStopping方法的典型用法代码示例。如果您正苦于以下问题:C++ DatabaseConnection::isStopping方法的具体用法?C++ DatabaseConnection::isStopping怎么用?C++ DatabaseConnection::isStopping使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseConnection
的用法示例。
在下文中一共展示了DatabaseConnection::isStopping方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: connections
/**
*
* Destroys this connection manager
*
* @return void
*/
DatabaseConnectionManager::~DatabaseConnectionManager()
{
DatabaseConnection *connection;
bool waiting = true;
while (waiting) {
// Our default state is not waiting
waiting = false;
Connections connections(this->connections);
for (Connections::const_iterator it = connections.begin();
it != connections.end(); ++it) {
connection = it->first;
if (connection->isStopping()) {
// Wait for the connection to finish
connection->join();
// Remove from collection
this->connections.erase(connection);
// Free memory
if (connection != mainConnection) {
delete connection;
}
} else {
// Ask the connection to stop running
connection->stop(false);
// This connection may not be finished yet
waiting = true;
}
}
}
delete this->mainConnection;
#ifdef TRACK_POINTERS
rDebug << "DatabaseConnectionManager::destroy" << this;
#endif
}