Lines Matching refs:srv_socket
47 const server_socket * const srv_socket = (server_socket *)context; in network_server_handle_fdevent() local
48 server * const srv = srv_socket->srv; in network_server_handle_fdevent()
52 "strange event for server socket %d %d", srv_socket->fd, revents); in network_server_handle_fdevent()
65 (sock_addr_get_family(&srv_socket->addr) != AF_UNIX); in network_server_handle_fdevent()
71 int fd = fdevent_accept_listenfd(srv_socket->fd, in network_server_handle_fdevent()
79 memcpy(addr.un.sun_path, srv_socket->addr.un.sun_path, in network_server_handle_fdevent()
80 srv_socket->srv_token_colon < sizeof(addr.un.sun_path) in network_server_handle_fdevent()
81 ? (size_t)srv_socket->srv_token_colon+1 /*(+1 for '\0')*/ in network_server_handle_fdevent()
85 connection *con = connection_accepted(srv, srv_socket, &addr, fd); in network_server_handle_fdevent()
268 static void network_srv_sockets_append(server *srv, server_socket *srv_socket) { in network_srv_sockets_append() argument
273 srv_sockets->ptr[srv_sockets->used++] = srv_socket; in network_srv_sockets_append()
345 static void network_srv_socket_init_token (server_socket * const srv_socket, const buffer * const t… in network_srv_socket_init_token() argument
346 buffer * const srv_token = srv_socket->srv_token = buffer_init(); in network_srv_socket_init_token()
350 if (AF_UNIX == sock_addr_get_family(&srv_socket->addr)) in network_srv_socket_init_token()
351 srv_socket->srv_token_colon = buffer_clen(srv_token); in network_srv_socket_init_token()
354 srv_socket->srv_token_colon = network_srv_token_colon(srv_token); in network_srv_socket_init_token()
358 server_socket *srv_socket; in network_server_init() local
439 srv_socket = ck_calloc(1, sizeof(*srv_socket)); in network_server_init()
440 memcpy(&srv_socket->addr, &addr, addr_len); in network_server_init()
441 srv_socket->fd = -1; in network_server_init()
442 srv_socket->sidx = sidx; in network_server_init()
443 srv_socket->is_ssl = s->ssl_enabled; in network_server_init()
444 srv_socket->srv = srv; in network_server_init()
445 network_srv_socket_init_token(srv_socket, host_token); in network_server_init()
446 network_srv_sockets_append(srv, srv_socket); in network_server_init()
454 if (0 != memcmp(&srv->srv_sockets_inherited.ptr[i]->addr, &srv_socket->addr, addr_len)) continue; in network_server_init()
464 srv_socket->fd = stdin_fd; in network_server_init()
474 if (-1 == (srv_socket->fd = fdevent_socket_cloexec(AF_UNIX, SOCK_STREAM, 0))) { in network_server_init()
478 if (0 == connect(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len)) { in network_server_init()
497 if (-1 == fdevent_fcntl_set_nb(srv_socket->fd)) { in network_server_init()
504 if (-1 == (srv_socket->fd = fdevent_socket_nb_cloexec(family, SOCK_STREAM, IPPROTO_TCP))) { in network_server_init()
512 if (-1 == setsockopt(srv_socket->fd, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof(val))) { in network_server_init()
521 srv->cur_fds = srv_socket->fd; in network_server_init()
523 if (fdevent_set_so_reuseaddr(srv_socket->fd, 1) < 0) { in network_server_init()
529 if (fdevent_set_tcp_nodelay(srv_socket->fd, 1) < 0) { in network_server_init()
536 if (0 != bind(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len)) { in network_server_init()
559 if (-1 == listen(srv_socket->fd, s->listen_backlog)) { in network_server_init()
569 if (-1 == setsockopt(srv_socket->fd, IPPROTO_TCP, TCP_DEFER_ACCEPT, &v, sizeof(v))) { in network_server_init()
584 if (setsockopt(srv_socket->fd, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)) < 0) { in network_server_init()
599 server_socket *srv_socket = srv->srv_sockets.ptr[i]; in network_close() local
600 if (srv_socket->fd != -1) { in network_close()
601 network_unregister_sock(srv, srv_socket); in network_close()
602 close(srv_socket->fd); in network_close()
605 buffer_free(srv_socket->srv_token); in network_close()
607 free(srv_socket); in network_close()
615 server_socket *srv_socket = srv->srv_sockets_inherited.ptr[i]; in network_close() local
616 if (srv_socket->fd != -1 && srv_socket->sidx != (unsigned short)~0u) { in network_close()
617 close(srv_socket->fd); in network_close()
620 buffer_free(srv_socket->srv_token); in network_close()
622 free(srv_socket); in network_close()
637 server_socket *srv_socket = srv->srv_sockets.ptr[n]; in network_socket_activation_to_env() local
638 if (srv_socket->fd < fd) continue; in network_socket_activation_to_env()
639 if (srv_socket->fd == fd) { in network_socket_activation_to_env()
657 if (fd != dup2(srv_socket->fd, fd)) continue; in network_socket_activation_to_env()
873 server_socket *srv_socket; in network_init() local
879 srv_socket = ck_calloc(1, sizeof(server_socket)); in network_init()
880 memcpy(srv_socket, srv->srv_sockets_inherited.ptr[i], in network_init()
882 srv_socket->is_ssl = p->defaults.ssl_enabled; in network_init()
884 network_srv_socket_init_token(srv_socket,srv_socket->srv_token); in network_init()
885 network_srv_sockets_append(srv, srv_socket); in network_init()
903 void network_unregister_sock(server *srv, server_socket *srv_socket) { in network_unregister_sock() argument
904 fdnode *fdn = srv_socket->fdn; in network_unregister_sock()
906 srv_socket->fdn = NULL; in network_unregister_sock()
920 server_socket *srv_socket = srv->srv_sockets.ptr[i]; in network_register_fdevents() local
922 …srv_socket->fdn = fdevent_register(srv->ev, srv_socket->fd, network_server_handle_fdevent, srv_soc… in network_register_fdevents()
923 fdevent_fdnode_event_set(srv->ev, srv_socket->fdn, FDEVENT_IN); in network_register_fdevents()