| Message ID | 20250923160459.32273-1-gert@greenie.muc.de |
|---|---|
| State | Accepted |
| Headers | show |
| Series | [Openvpn-devel,v1] multi_io_init: simplify | expand |
A particular way to do extra-complicated nothing really... I have stared
at the code for a bit, the flow of "t->options.max_clients" into
"m->max_clients" (assigned exactly once), etc. - and also compared the
logging before/after.
old: MULTI IO: MULTI_IO INIT maxclients=1024 maxevents=1029
new: MULTI IO: MULTI_IO INIT maxclients=1024 maxevents=1029
same numbers ;-)
Your patch has been applied to the master branch.
commit 945db23ef49c3e8c36c6bef8857058544caa77f6
Author: Frank Lichtenheld
Date: Tue Sep 23 18:04:53 2025 +0200
multi_io_init: simplify
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1209
Message-Id: <20250923160459.32273-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg33176.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c index 9256127..1d2ee53 100644 --- a/src/openvpn/multi.c +++ b/src/openvpn/multi.c @@ -411,7 +411,7 @@ /* * Initialize multi-socket I/O wait object */ - m->multi_io = multi_io_init(t->options.max_clients, &m->max_clients); + m->multi_io = multi_io_init(m->max_clients); m->tcp_queue_limit = t->options.tcp_queue_limit; /* diff --git a/src/openvpn/multi_io.c b/src/openvpn/multi_io.c index ece789c..0bfbb63 100644 --- a/src/openvpn/multi_io.c +++ b/src/openvpn/multi_io.c @@ -113,21 +113,18 @@ } struct multi_io * -multi_io_init(int maxevents, int *maxclients) +multi_io_init(const int maxclients) { struct multi_io *multi_io; - const int extra_events = BASE_N_EVENTS; - ASSERT(maxevents >= 1); - ASSERT(maxclients); + ASSERT(maxclients >= 1); ALLOC_OBJ_CLEAR(multi_io, struct multi_io); - multi_io->maxevents = maxevents + extra_events; + multi_io->maxevents = maxclients + BASE_N_EVENTS; multi_io->es = event_set_init(&multi_io->maxevents, 0); wait_signal(multi_io->es, MULTI_IO_SIG); ALLOC_ARRAY(multi_io->esr, struct event_set_return, multi_io->maxevents); - *maxclients = max_int(min_int(multi_io->maxevents - extra_events, *maxclients), 1); - msg(D_MULTI_LOW, "MULTI IO: MULTI_IO INIT maxclients=%d maxevents=%d", *maxclients, + msg(D_MULTI_LOW, "MULTI IO: MULTI_IO INIT maxclients=%d maxevents=%d", maxclients, multi_io->maxevents); return multi_io; } diff --git a/src/openvpn/multi_io.h b/src/openvpn/multi_io.h index 07eb3d4..4a3c60d 100644 --- a/src/openvpn/multi_io.h +++ b/src/openvpn/multi_io.h @@ -61,7 +61,7 @@ #endif }; -struct multi_io *multi_io_init(int maxevents, int *maxclients); +struct multi_io *multi_io_init(int maxclients); void multi_io_free(struct multi_io *multi_io);