Re: [libvirt] [PATCH 19/20] rpc: Introduce virNetServerGetProgramLocked helper function

2018-03-15 Thread John Ferlan


On 03/08/2018 07:20 AM, Marc Hartmayer wrote:
> This patch introduces virNetServerGetProgramLocked. It's a function to
> determine which program has to be used for a given @msg. This function
> will be reused in the next patch.
> 
> Signed-off-by: Marc Hartmayer 
> Reviewed-by: Boris Fiuczynski 
> ---
>  src/rpc/virnetserver.c | 31 ---
>  1 file changed, 24 insertions(+), 7 deletions(-)
> 

This and the followup patch I haven't been able to git am -3 apply due
to other changes... So no build, but from a purely visual look

Reviewed-by: John Ferlan 

John

(but I'll need an updated version before being able to push)

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 19/20] rpc: Introduce virNetServerGetProgramLocked helper function

2018-03-08 Thread Marc Hartmayer
This patch introduces virNetServerGetProgramLocked. It's a function to
determine which program has to be used for a given @msg. This function
will be reused in the next patch.

Signed-off-by: Marc Hartmayer 
Reviewed-by: Boris Fiuczynski 
---
 src/rpc/virnetserver.c | 31 ---
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c
index 204f425264fa..4cd42ad7fd40 100644
--- a/src/rpc/virnetserver.c
+++ b/src/rpc/virnetserver.c
@@ -182,6 +182,29 @@ static void virNetServerHandleJob(void *jobOpaque, void 
*opaque)
 VIR_FREE(job);
 }
 
+
+/**
+ * virNetServerGetProgramLocked:
+ * @srv: server (must be locked by the caller)
+ * @msg: message
+ *
+ * Searches @srv for the right program for a given message @msg.
+ *
+ * Returns a pointer to the server program or NULL if not found.
+ */
+static virNetServerProgramPtr
+virNetServerGetProgramLocked(virNetServerPtr srv,
+ virNetMessagePtr msg)
+{
+size_t i;
+for (i = 0; i < srv->nprograms; i++) {
+if (virNetServerProgramMatches(srv->programs[i], msg))
+return srv->programs[i];
+}
+return NULL;
+}
+
+
 static int virNetServerDispatchNewMessage(virNetServerClientPtr client,
   virNetMessagePtr msg,
   void *opaque)
@@ -189,19 +212,13 @@ static int 
virNetServerDispatchNewMessage(virNetServerClientPtr client,
 virNetServerPtr srv = opaque;
 virNetServerProgramPtr prog = NULL;
 unsigned int priority = 0;
-size_t i;
 int ret = -1;
 
 VIR_DEBUG("server=%p client=%p message=%p",
   srv, client, msg);
 
 virObjectLock(srv);
-for (i = 0; i < srv->nprograms; i++) {
-if (virNetServerProgramMatches(srv->programs[i], msg)) {
-prog = srv->programs[i];
-break;
-}
-}
+prog = virNetServerGetProgramLocked(srv, msg);
 
 if (srv->workers) {
 virNetServerJobPtr job;
-- 
2.13.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list