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.
This commit is contained in:
Hans de Goede 2011-04-01 14:08:56 +02:00
parent d590666408
commit 326fdf34f2

View File

@ -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);