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.
}
}
- 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;