diff options
| author | def <dennis@felsin9.de> | 2015-08-14 23:18:09 +0200 |
|---|---|---|
| committer | def <dennis@felsin9.de> | 2015-08-14 23:18:09 +0200 |
| commit | 6c6175931eebb63202abb012cf53fbd9211e0c51 (patch) | |
| tree | 8e17d6114470b371b83886d001db51ec0c3f8620 /src/engine/server/server.cpp | |
| parent | 47e5064885a6dc700196e70aa28372b1d2bb6781 (diff) | |
| download | zcatch-6c6175931eebb63202abb012cf53fbd9211e0c51.tar.gz zcatch-6c6175931eebb63202abb012cf53fbd9211e0c51.zip | |
Add sv_shutdown_when_empty (from DDNet)
Diffstat (limited to 'src/engine/server/server.cpp')
| -rw-r--r-- | src/engine/server/server.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index b830dfe8..704f74c2 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -1586,8 +1586,17 @@ int CServer::Run() ReportTime += time_freq()*ReportInterval; } - // wait for incomming data - net_socket_read_wait(m_NetServer.Socket(), 5); + bool NonActive = true; + + for(int c = 0; c < MAX_CLIENTS; c++) + if(m_aClients[c].m_State != CClient::STATE_EMPTY) + NonActive = false; + + // wait for incoming data + if(NonActive && g_Config.m_SvShutdownWhenEmpty) + m_RunServer = false; + else + net_socket_read_wait(m_NetServer.Socket(), 5); } } // disconnect all clients on shutdown |