diff options
author | Hans de Goede <hdegoede@redhat.com> | 2011-04-01 14:08:56 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2011-04-04 11:24:47 +0200 |
commit | 326fdf34f28b397914660f00ee9594316d82e516 (patch) | |
tree | fc5619a83eae975ec284f9b6088b163646381e58 /server/reds.c | |
parent | d5906664080b73338bd2766565a94330fd3fd5d2 (diff) | |
download | spice-326fdf34f28b397914660f00ee9594316d82e516.tar.gz spice-326fdf34f28b397914660f00ee9594316d82e516.tar.xz spice-326fdf34f28b397914660f00ee9594316d82e516.zip |
server: reset read/write filter on agent/client disconnect
The agent message filter keeps track of messages as they are being send
reset the relevant filter to its initial state when one of the 2 ends
of the agent<->client "tunnel" disconnects.
Diffstat (limited to 'server/reds.c')
-rw-r--r-- | server/reds.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/server/reds.c b/server/reds.c index c55f0d32..20184fa5 100644 --- a/server/reds.c +++ b/server/reds.c @@ -576,6 +576,7 @@ static void reds_reset_vdp() ring_add(&state->read_bufs, &state->current_read_buf->link); state->current_read_buf = NULL; } + agent_msg_filter_init(&state->read_filter, agent_copypaste); state->client_agent_started = FALSE; } @@ -594,6 +595,7 @@ void reds_disconnect() reds->disconnecting = TRUE; reds->link_id = 0; + agent_msg_filter_init(&reds->agent_state.write_filter, agent_copypaste); if (reds->agent_state.connected) { SpiceCharDeviceInterface *sif; sif = SPICE_CONTAINEROF(vdagent->base.sif, SpiceCharDeviceInterface, base); |