void* Thread_Per_Connection_Logging_Server::run_svc(void *arg) { ACE_Auto_Ptr<Thread_Args> thread_args(static_cast<Thread_Args*>(arg)); thread_args->this_->handle_data(&thread_args->logging_peer_); thread_args->logging_peer_.close(); return 0; }
ACE_THR_FUNC_RETURN ChatServer::run_svc(void *arg) { auto_ptr<Thread_Args> thread_args(static_cast<Thread_Args *> (arg)); thread_args->this_->handle_data(&thread_args->m_chat_peer); thread_args->m_chat_peer.close(); return 0; // Return value is ignored }
ACE_THR_FUNC_RETURN Thread_Per_Connection_Logging_Server::run_svc (void *arg) { auto_ptr<Thread_Args> thread_args (static_cast<Thread_Args *> (arg)); thread_args->this_->handle_data (&thread_args->logging_peer_); thread_args->logging_peer_.close (); return 0; // Return value is ignored }
int Thread_Per_Connection_Logging_Server::handle_connections() { ACE_Auto_Ptr<Thread_Args> thread_args(new Thread_Args(this)); if (acceptor().accept(thread_args->logging_peer_) == -1) return -1; if (ACE_Thread_Manager::instance()->spawn( Thread_Per_Connection_Logging_Server::run_svc, static_cast<void*>(thread_args.get()), THR_DETACHED | THR_SCOPE_SYSTEM) == -1) return -1; thread_args.release(); return 0; }
int Thread_Per_Connection_Logging_Server::handle_connections () { auto_ptr<Thread_Args> thread_args (new Thread_Args (this)); if (acceptor ().accept (thread_args->logging_peer_) == -1) return -1; if (ACE_Thread_Manager::instance ()->spawn ( // Pointer to function entry point. Thread_Per_Connection_Logging_Server::run_svc, // <run_svc> parameter. static_cast<void *> (thread_args.get ()), THR_DETACHED | THR_SCOPE_SYSTEM) == -1) return -1; thread_args.release (); // Spawned thread now owns memory return 0; }
int ChatServer::handle_connections() { if (DLOG) { printf("\n"); Util::log("[ChatServer::handle_connections] START\n"); } auto_ptr<Thread_Args> thread_args(new Thread_Args(this)); if (acceptor().accept(thread_args->m_chat_peer) == -1) return -1; if (ACE_Thread_Manager::instance()->spawn( // Pointer to function entry point. ChatServer::run_svc, // <run_svc> parameter. static_cast<void *> (thread_args.get()), THR_DETACHED | THR_SCOPE_SYSTEM) == -1) return -1; thread_args.release(); // Spawned thread now owns memory if (DLOG) Util::log("[ChatServer::handle_connections] END\n"); return 0; }