nxt_kqueue_engine.c (62:5e1efcc7b740) nxt_kqueue_engine.c (312:c156aea91063)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8

--- 915 unchanged lines hidden (view full) ---

924
925 nxt_kqueue_conn_io_accept(task, lev, data);
926}
927
928
929static void
930nxt_kqueue_conn_io_accept(nxt_task_t *task, void *obj, void *data)
931{
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8

--- 915 unchanged lines hidden (view full) ---

924
925 nxt_kqueue_conn_io_accept(task, lev, data);
926}
927
928
929static void
930nxt_kqueue_conn_io_accept(nxt_task_t *task, void *obj, void *data)
931{
932 socklen_t len;
932 socklen_t socklen;
933 nxt_conn_t *c;
934 nxt_socket_t s;
935 struct sockaddr *sa;
936 nxt_listen_event_t *lev;
937
938 lev = obj;
939 c = lev->next;
940
941 lev->ready--;
942 lev->socket.read_ready = (lev->ready != 0);
943
944 lev->socket.kq_available--;
945 lev->socket.read_ready = (lev->socket.kq_available != 0);
946
933 nxt_conn_t *c;
934 nxt_socket_t s;
935 struct sockaddr *sa;
936 nxt_listen_event_t *lev;
937
938 lev = obj;
939 c = lev->next;
940
941 lev->ready--;
942 lev->socket.read_ready = (lev->ready != 0);
943
944 lev->socket.kq_available--;
945 lev->socket.read_ready = (lev->socket.kq_available != 0);
946
947 len = c->remote->socklen;
947 sa = &c->remote->u.sockaddr;
948 socklen = c->remote->socklen;
949 /*
950 * The returned socklen is ignored here,
951 * see comment in nxt_conn_io_accept().
952 */
953 s = accept(lev->socket.fd, sa, &socklen);
948
954
949 if (len >= sizeof(struct sockaddr)) {
950 sa = &c->remote->u.sockaddr;
951
952 } else {
953 sa = NULL;
954 len = 0;
955 }
956
957 s = accept(lev->socket.fd, sa, &len);
958
959 if (s != -1) {
960 c->socket.fd = s;
961
962 nxt_debug(task, "accept(%d): %d", lev->socket.fd, s);
963
964 nxt_conn_accept(task, lev, c);
965 return;
966 }

--- 66 unchanged lines hidden ---
955 if (s != -1) {
956 c->socket.fd = s;
957
958 nxt_debug(task, "accept(%d): %d", lev->socket.fd, s);
959
960 nxt_conn_accept(task, lev, c);
961 return;
962 }

--- 66 unchanged lines hidden ---