Since all APIs are also RPC calls, we automatically get all APIs covered with thread jobs. Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- daemon/remote.c | 1 + src/locking/lock_daemon_dispatch.c | 1 + src/qemu/qemu_domain.c | 1 + src/rpc/gendispatch.pl | 6 +++++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/daemon/remote.c b/daemon/remote.c index 62a4728..ea7ae94 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -51,6 +51,7 @@ #include "viraccessapicheck.h" #include "viraccessapicheckqemu.h" #include "virpolkit.h" +#include "virthreadjob.h" #define VIR_FROM_THIS VIR_FROM_RPC diff --git a/src/locking/lock_daemon_dispatch.c b/src/locking/lock_daemon_dispatch.c index 168a6af..a7cee9d 100644 --- a/src/locking/lock_daemon_dispatch.c +++ b/src/locking/lock_daemon_dispatch.c @@ -29,6 +29,7 @@ #include "lock_daemon.h" #include "lock_protocol.h" #include "virerror.h" +#include "virthreadjob.h" #define VIR_FROM_THIS VIR_FROM_RPC diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 949bf8b..559400c 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -39,6 +39,7 @@ #include "virtime.h" #include "virstoragefile.h" #include "virstring.h" +#include "virthreadjob.h" #include "storage/storage_driver.h" diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl index 8b488eb..aa73d0c 100755 --- a/src/rpc/gendispatch.pl +++ b/src/rpc/gendispatch.pl @@ -428,8 +428,10 @@ elsif ($mode eq "server") { print " void *args$argann,\n"; print " void *ret$retann)\n"; print "{\n"; + print " int rv;\n"; + print " virThreadJobSet(\"$name\");\n"; print " VIR_DEBUG(\"server=%p client=%p msg=%p rerr=%p args=%p ret=%p\", server, client, msg, rerr, args, ret);\n"; - print " return $name(server, client, msg, rerr"; + print " rv = $name(server, client, msg, rerr"; if ($argtype ne "void") { print ", args"; } @@ -437,6 +439,8 @@ elsif ($mode eq "server") { print ", ret"; } print ");\n"; + print " virThreadJobClear(rv);\n"; + print " return rv;\n"; print "}\n"; # Finally we print out the dispatcher method body impl -- 2.3.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list