static void process_server(conn *c, char *command) { token_t tokens[MAX_TOKENS]; size_t ntokens; int comm; assert(c != NULL); if (settings.verbose > 1) fprintf(stderr, "<%d %s\n", c->sfd, command); /*c->msgcurr = 0; c->msgused = 0; c->iovused = 0; if (add_msghdr(c) != 0) { out_string(c, "SERVER_ERROR out of memory preparing response"); return; }*/ char buf[Len4TmpString + 1] = { 0 }; int nLen = 0; service_handler(c, c->rcurr, c->rbytes, buf, nLen); if (nLen != 0) out_stringn(c, buf, nLen); return; }
static int handler_new_client(int client_sock_fd) { int child_pid; if ((child_pid = fork()) == 0) { close(g_config.sock_fd); service_handler(client_sock_fd); close(client_sock_fd); exit(EXIT_SUCCESS); } close(client_sock_fd); return (1); }