summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_udp.c
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2023-05-19 21:46:36 +0400
committerRoman Arutyunyan <arut@nginx.com>2023-05-19 21:46:36 +0400
commit4b0266174814e6cf60a275321121dbaab084ee64 (patch)
tree1c47a0b456cb1bb6d6dd08aa2d94342d738b56c6 /src/event/ngx_event_udp.c
parent1a8ef991d92d22eb8aded7f49595dd31a639e8a4 (diff)
parent94941bd840ce7b011a36f7fe33f3fc7f4c600688 (diff)
downloadnginx-4b0266174814e6cf60a275321121dbaab084ee64.tar.gz
nginx-4b0266174814e6cf60a275321121dbaab084ee64.tar.bz2
Merged with the quic branch.
Diffstat (limited to 'src/event/ngx_event_udp.c')
-rw-r--r--src/event/ngx_event_udp.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/event/ngx_event_udp.c b/src/event/ngx_event_udp.c
index d7a94c76e..43fa621b0 100644
--- a/src/event/ngx_event_udp.c
+++ b/src/event/ngx_event_udp.c
@@ -12,13 +12,6 @@
#if !(NGX_WIN32)
-struct ngx_udp_connection_s {
- ngx_rbtree_node_t node;
- ngx_connection_t *connection;
- ngx_buf_t *buffer;
-};
-
-
static void ngx_close_accepted_udp_connection(ngx_connection_t *c);
static ssize_t ngx_udp_shared_recv(ngx_connection_t *c, u_char *buf,
size_t size);
@@ -424,8 +417,8 @@ ngx_udp_rbtree_insert_value(ngx_rbtree_node_t *temp,
udpt = (ngx_udp_connection_t *) temp;
ct = udpt->connection;
- rc = ngx_cmp_sockaddr(c->sockaddr, c->socklen,
- ct->sockaddr, ct->socklen, 1);
+ rc = ngx_memn2cmp(udp->key.data, udpt->key.data,
+ udp->key.len, udpt->key.len);
if (rc == 0 && c->listening->wildcard) {
rc = ngx_cmp_sockaddr(c->local_sockaddr, c->local_socklen,
@@ -478,6 +471,8 @@ ngx_insert_udp_connection(ngx_connection_t *c)
ngx_crc32_final(hash);
udp->node.key = hash;
+ udp->key.data = (u_char *) c->sockaddr;
+ udp->key.len = c->socklen;
cln = ngx_pool_cleanup_add(c->pool, 0);
if (cln == NULL) {