Revert "replay: Replicate wakeups properly"

This reverts commit c6881ad1a0.

This patch cause the replay utility run at full speed
to slow down a lot and in some cases getting stuck.
I don't understand the reason and when I tested was working
but as we are going to release would be a pity if this test utility
won't work as useful to get feedback and reports.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
This commit is contained in:
Frediano Ziglio 2016-11-17 09:07:50 +00:00
parent 720f0d0a59
commit 973cbb4df2
2 changed files with 5 additions and 1 deletions

View File

@ -1280,7 +1280,7 @@ static void replay_handle_dev_input(QXLWorker *worker, SpiceReplay *replay,
// we want to ignore this one - it is sent on client connection, we
// shall have our own clients
case RED_WORKER_MESSAGE_WAKEUP:
worker->wakeup(worker);
// safe to ignore
break;
default:
spice_debug("unhandled %d\n", message);

View File

@ -111,6 +111,7 @@ static void get_init_info(QXLInstance *qin, QXLDevInitInfo *info)
static gboolean fill_queue_idle(gpointer user_data)
{
gboolean keep = FALSE;
gboolean wakeup = FALSE;
while ((g_async_queue_length(display_queue) +
g_async_queue_length(cursor_queue)) < 50) {
@ -127,6 +128,7 @@ static gboolean fill_queue_idle(gpointer user_data)
g_usleep(slow);
}
wakeup = TRUE;
if (cmd->cmd.type == QXL_CMD_CURSOR) {
g_async_queue_push(cursor_queue, cmd);
} else {
@ -144,6 +146,8 @@ end:
}
pthread_mutex_unlock(&mutex);
}
if (wakeup)
spice_qxl_wakeup(&display_sin);
return keep;
}