summaryrefslogtreecommitdiffstats
path: root/server/inputs_channel.c
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2010-11-04 17:20:24 +0200
committerAlon Levy <alevy@redhat.com>2011-02-07 19:21:21 +0200
commit7dfd7a0c779da2df2c90ea59a9defb313779aaca (patch)
tree425f3ae05f62a76ce7d8444162646dbc731dc69f /server/inputs_channel.c
parente571b5ebbb5f60d264f2d2eab8ec34d389fd3752 (diff)
downloadspice-7dfd7a0c779da2df2c90ea59a9defb313779aaca.tar.gz
spice-7dfd7a0c779da2df2c90ea59a9defb313779aaca.tar.xz
spice-7dfd7a0c779da2df2c90ea59a9defb313779aaca.zip
server/red_channel: add hold_item (from red_worker)
hold_item called on init_send_data, matching release. This is not the behavior of red_worker - we ref++ (==hold_item) when sending the item, and --refs when releasing it, instead of only holding if the send is blocked. Note 1: Naming: hold_pipe_item is the proc name, the variable is called hold_item, this is similar to release_item/release_pipe_item naming. Note 2: All channels have empty implementation, we later use this when red_worker get's RedChannelized.
Diffstat (limited to 'server/inputs_channel.c')
-rw-r--r--server/inputs_channel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/server/inputs_channel.c b/server/inputs_channel.c
index b7ae55a4..9b6c7913 100644
--- a/server/inputs_channel.c
+++ b/server/inputs_channel.c
@@ -508,6 +508,10 @@ static int inputs_channel_config_socket(RedChannel *channel)
return TRUE;
}
+static void inputs_channel_hold_pipe_item(PipeItem *item)
+{
+}
+
static void inputs_link(Channel *channel, RedsStreamContext *peer, int migration,
int num_common_caps, uint32_t *common_caps, int num_caps,
uint32_t *caps)
@@ -523,6 +527,7 @@ static void inputs_link(Channel *channel, RedsStreamContext *peer, int migration
,inputs_channel_handle_parsed
,inputs_channel_alloc_msg_rcv_buf
,inputs_channel_release_msg_rcv_buf
+ ,inputs_channel_hold_pipe_item
,inputs_channel_send_item
,inputs_channel_release_pipe_item
,inputs_channel_on_incoming_error