On 05/17/2017 01:13 PM, John Ferlan wrote:
On 05/16/2017 10:03 AM, Michal Privoznik wrote:
> Add a virStreamPtr pointer to the _virNetClientStream
> in order to reverse track the parent stream.
>
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/remote/remote_driver.c | 6 ++++--
> src/rpc/gendispatch.pl | 2 +-
> src/rpc/virnetclientstream.c | 6 +++++-
> src/rpc/virnetclientstream.h | 3 ++-
> 4 files changed, 12 insertions(+), 5 deletions(-)
>
[...]
> diff --git a/src/rpc/virnetclientstream.c b/src/rpc/virnetclientstream.c
> index 2105bd0a9..01761cf8d 100644
> --- a/src/rpc/virnetclientstream.c
> +++ b/src/rpc/virnetclientstream.c
> @@ -36,6 +36,8 @@ VIR_LOG_INIT("rpc.netclientstream");
> struct _virNetClientStream {
> virObjectLockable parent;
>
> + virStreamPtr stream; /* Reverse pointer to parent stream */
> +
> virNetClientProgramPtr prog;
> int proc;
> unsigned serial;
> @@ -133,7 +135,8 @@ virNetClientStreamEventTimer(int timer ATTRIBUTE_UNUSED, void
*opaque)
> }
>
>
> -virNetClientStreamPtr virNetClientStreamNew(virNetClientProgramPtr prog,
> +virNetClientStreamPtr virNetClientStreamNew(virStreamPtr stream,
> + virNetClientProgramPtr prog,
> int proc,
> unsigned serial)
> {
> @@ -145,6 +148,7 @@ virNetClientStreamPtr
virNetClientStreamNew(virNetClientProgramPtr prog,
> if (!(st = virObjectLockableNew(virNetClientStreamClass)))
> return NULL;
>
> + st->stream = stream;
Should this be a virObjectRef(stream); ?
If so, then virNetClientStreamDispose needs to call unref() to match it.
I can do that. Consider done.
Michal