On 08/26/2014 06:41 PM, Peter Krempa wrote:
On 08/25/14 20:22, Ján Tomko wrote:
--- daemon/remote.c | 42 ++++++++++++++++++++++++++++++++++++++++++ src/remote/remote_driver.c | 39 +++++++++++++++++++++++++++++++++++++++ src/remote/remote_protocol.x | 15 ++++++++++++++- src/rpc/virnetmessage.c | 26 ++++++++++++++++++++++++++ src/rpc/virnetmessage.h | 3 +++ 5 files changed, 124 insertions(+), 1 deletion(-)
diff --git a/daemon/remote.c b/daemon/remote.c index ea16789..bd3b377 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -4399,6 +4399,48 @@ remoteDispatchDomainOpenGraphics(virNetServerPtr server ATTRIBUTE_UNUSED, }
+ + if (virDomainOpenGraphicsFD(dom, + args->idx, + &fd, + args->flags) < 0) + goto cleanup; + + if (virNetMessageAddFD(msg, fd) < 0) + goto cleanup; + + rv = 1;
1 ? You probably should return 0 here.
This is necessary to let the dispatcher know we are passing a FD back. I have added an explanatory comment.
Fails syntax-check: GEN remote_protocol-struct --- remote_protocol-structs 2014-08-26 18:24:38.283925041 +0200 +++ remote_protocol-struct-t3 2014-08-26 18:39:19.297274744 +0200 @@ -2153,6 +2153,11 @@ u_int idx; u_int flags; }; +struct remote_domain_open_graphics_fd_args { + remote_nonnull_domain dom; + u_int idx; + u_int flags; +}; struct remote_node_suspend_for_duration_args { u_int target; uint64_t duration; @@ -2862,4 +2867,5 @@ REMOTE_PROC_NODE_GET_FREE_PAGES = 340, REMOTE_PROC_NETWORK_GET_DHCP_LEASES = 341, REMOTE_PROC_CONNECT_GET_DOMAIN_CAPABILITIES = 342, + REMOTE_PROC_DOMAIN_OPEN_GRAPHICS_FD = 343, }; make[3]: *** [remote_protocol-struct] Error 1 make[3]: Leaving directory `/home/pipo/libvirt/src'
You probably don't have one of the tools installed.
Yes, 'dwarves' was the missing tool (and a git clean was needed too).
I'd like to see a v2.
Sent.
Peter
Jan