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
} // requeryAll private bool AddServer(ViennaServer server, int seq) { if (m_servers.Contains(server)) { return(false); } m_servers.Add(server); if (server is InvokeIISServiceProcessor) { server.InitThread(seq, "InvokeIISService"); } else { server.InitThread(seq); //initializes the thread object } server.GetServerThread().Priority = ThreadPriority.Normal; server.Start(); return(true); } // addServer