void server_listen() { int reqFd; pid_t pid; listen(connection_id, MAX_CONN); printf("Listen %d, Max Connection:%d\n", SERV_PORT, MAX_CONN); while(1) { reqFd = accept(connection_id, (struct sockaddr*)NULL, NULL); if(reqFd >= 0) { pid = fork(); if(pid == 0) { server_handle(reqFd); exit(EXIT_SUCCESS); }else if(pid > 0) { wait(); } } close(reqFd); } }
/// Teardown a single server static void server_close_cb(Server **server) { uv_close(server_handle(*server), free_server); }