Example #1
0
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;
}
Example #2
0
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);
}