1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-04 17:23:46 +03:00

added management function to purge stale sessions in the management server

ndb/include/util/Bitmask.hpp:
  added bitXORC
ndb/include/util/SocketServer.hpp:
  added method to apply function on each session
ndb/src/common/util/SocketServer.cpp:
  added method to apply function on each session
This commit is contained in:
unknown
2004-11-09 19:39:29 +00:00
parent 8e8c1a4756
commit 4c26186b47
11 changed files with 274 additions and 18 deletions

View File

@@ -258,6 +258,15 @@ transfer(NDB_SOCKET_TYPE sock){
return true;
}
void
SocketServer::foreachSession(void (*func)(SocketServer::Session*, void *), void *data)
{
for(int i = m_sessions.size() - 1; i >= 0; i--){
(*func)(m_sessions[i].m_session, data);
}
checkSessions();
}
void
SocketServer::checkSessions(){
for(int i = m_sessions.size() - 1; i >= 0; i--){
@@ -278,8 +287,10 @@ void
SocketServer::stopSessions(bool wait){
int i;
for(i = m_sessions.size() - 1; i>=0; i--)
m_sessions[i].m_session->m_stop = true;
{
m_sessions[i].m_session->stopSession();
m_sessions[i].m_session->m_stop = true; // to make sure
}
for(i = m_services.size() - 1; i>=0; i--)
m_services[i].m_service->stopSessions();