} // stopAll public bool Stop(String serverID) { ViennaServer server = GetServer(serverID); if (server == null) { return(false); } if (!server.GetServerThread().IsAlive) { return(true); } try { server.GetServerThread().Interrupt(); Thread.Sleep(10); // 1/100 sec } catch (Exception e) { log.Log(Level.SEVERE, "Stop", e); return(false); } log.Info(server.ToString()); //ViennaServerGroup.Get().Dump(); return(!server.GetServerThread().IsAlive); } // stop
public bool Start(String serverID) { ViennaServer server = GetServer(serverID); if (server == null) { return(false); } if (server.GetServerThread().IsAlive) { return(true); } try { // replace int index = m_servers.IndexOf(server); server = ViennaServer.Create(server.GetModel()); if (server == null) { m_servers.RemoveAt(index); } else { m_servers[index] = server; } server.Start(); server.SetPriority(ThreadPriority.Normal); Thread.Sleep(0); //yeild other theads of lower priority to run } catch (Exception e) { log.Log(Level.SEVERE, "Server=" + serverID, e); return(false); } log.Info(server.ToString()); //ViennaServerGroup.Get().Dump(); if (server == null) { return(false); } return(server.GetServerThread().IsAlive); } // startIt