mirror of
https://github.com/cesanta/mongoose.git
synced 2025-01-04 13:15:36 +08:00
Fix connection reuse in mg_if_recv_udp_cb
PUBLISHED_FROM=5d248fd465ade7f42293611bc2d60ed72439a489
This commit is contained in:
parent
06659844b6
commit
356f1f5119
27
mongoose.c
27
mongoose.c
@ -2684,19 +2684,20 @@ void mg_if_recv_udp_cb(struct mg_connection *nc, void *buf, int len,
|
|||||||
struct mg_add_sock_opts opts;
|
struct mg_add_sock_opts opts;
|
||||||
memset(&opts, 0, sizeof(opts));
|
memset(&opts, 0, sizeof(opts));
|
||||||
nc = mg_create_connection(lc->mgr, lc->handler, opts);
|
nc = mg_create_connection(lc->mgr, lc->handler, opts);
|
||||||
}
|
if (nc != NULL) {
|
||||||
if (nc != NULL) {
|
nc->sock = lc->sock;
|
||||||
nc->sock = lc->sock;
|
nc->listener = lc;
|
||||||
nc->listener = lc;
|
nc->sa = *sa;
|
||||||
nc->sa = *sa;
|
nc->proto_handler = lc->proto_handler;
|
||||||
nc->proto_handler = lc->proto_handler;
|
nc->user_data = lc->user_data;
|
||||||
nc->user_data = lc->user_data;
|
nc->recv_mbuf_limit = lc->recv_mbuf_limit;
|
||||||
nc->recv_mbuf_limit = lc->recv_mbuf_limit;
|
nc->flags = MG_F_UDP;
|
||||||
nc->flags = MG_F_UDP;
|
mg_add_conn(lc->mgr, nc);
|
||||||
mg_add_conn(lc->mgr, nc);
|
mg_call(nc, NULL, MG_EV_ACCEPT, &nc->sa);
|
||||||
mg_call(nc, NULL, MG_EV_ACCEPT, &nc->sa);
|
} else {
|
||||||
} else {
|
DBG(("OOM"));
|
||||||
DBG(("OOM"));
|
/* No return here, we still need to drop on the floor */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nc != NULL) {
|
if (nc != NULL) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user