-
- push_server(server);
-
- return true;
-}
-
-bool server_startup_st::start_socket_server(const std::string& server_type, const in_port_t try_port, int argc,
- const char *argv[],
- const bool opt_startup_message)
-{
- (void)try_port;
- Outn();
-
- Server *server= NULL;
- try {
- if (0)
- { }
- else if (server_type.compare("gearmand") == 0)
- {
- Error << "Socket files are not supported for gearmand yet";
- }
- else if (server_type.compare("memcached") == 0)
- {
- if (HAVE_MEMCACHED_BINARY)
- {
- server= build_memcached_socket("localhost", try_port);
- }
- else
- {
- Error << "No memcached binary is available";
- }
- }
- else
- {
- Error << "Failed to start " << server_type << ", no support was found to be compiled in for it.";
- }
-
- if (server == NULL)
- {
- Error << "Failure occured while creating server: " << server_type;
- return false;
- }
-
- /*
- We will now cycle the server we have created.
- */
- if (server->cycle() == false)
- {
- Error << "Could not start up server " << *server;
- delete server;
- return false;
- }
-
- server->build(argc, argv);
-
-#if 0
- if (false)
- {
- Out << "Pausing for startup, hit return when ready.";
- std::string gdb_command= server->base_command();
- std::string options;
- Out << "run " << server->args(options);
- getchar();
- }
- else
-#endif
- if (server->start() == false)
- {
- Error << "Failed to start " << *server;
- delete server;
- return false;
- }
- else
- {
- if (opt_startup_message)
- {
-#if defined(DEBUG)
- if (DEBUG)
- {
- Outn();
- Out << "STARTING SERVER(pid:" << server->pid() << "): " << server->running();
- Outn();
- }
-#endif
- }
- }