MEDIUM: backend: don't call si_alloc_conn() when we reuse a valid connection
connect_server() already does most of the check that is done again in
si_alloc_conn(), so let's simply reuse the existing connection instead
of calling the function again. It will also simplify the connection
reuse.
Indeed, for reuse to be set, it also requires srv_conn to be valid. In the
end, the only situation where we have to release the existing connection
and allocate a new one is when reuse == 0.
diff --git a/src/backend.c b/src/backend.c
index d55434d..a1c7007 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1050,7 +1050,9 @@
}
}
- srv_conn = si_alloc_conn(&s->si[1], reuse);
+ if (!reuse)
+ srv_conn = si_alloc_conn(&s->si[1], 0);
+
if (!srv_conn)
return SF_ERR_RESOURCE;