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;