vnc-jobs.c (a3206972a9eab65ec8e8f9ae320ad628ba4b58f1) | vnc-jobs.c (543b95801f98ab2cb7413c39779fd5b7f363ce3d) |
---|---|
1/* 2 * QEMU VNC display driver 3 * 4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws> 5 * Copyright (C) 2006 Fabrice Bellard 6 * Copyright (C) 2009 Red Hat, Inc 7 * Copyright (C) 2010 Corentin Chary <corentin.chary@gmail.com> 8 * --- 204 unchanged lines hidden (view full) --- 213static int vnc_worker_thread_loop(VncJobQueue *queue) 214{ 215 VncJob *job; 216 VncRectEntry *entry, *tmp; 217 VncState vs; 218 int n_rectangles; 219 int saved_offset; 220 | 1/* 2 * QEMU VNC display driver 3 * 4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws> 5 * Copyright (C) 2006 Fabrice Bellard 6 * Copyright (C) 2009 Red Hat, Inc 7 * Copyright (C) 2010 Corentin Chary <corentin.chary@gmail.com> 8 * --- 204 unchanged lines hidden (view full) --- 213static int vnc_worker_thread_loop(VncJobQueue *queue) 214{ 215 VncJob *job; 216 VncRectEntry *entry, *tmp; 217 VncState vs; 218 int n_rectangles; 219 int saved_offset; 220 |
221 buffer_init(&vs.output, "vnc-worker-output"); 222 |
|
221 vnc_lock_queue(queue); 222 while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) { 223 qemu_cond_wait(&queue->cond, &queue->mutex); 224 } 225 /* Here job can only be NULL if queue->exit is true */ 226 job = QTAILQ_FIRST(&queue->jobs); 227 vnc_unlock_queue(queue); 228 --- 68 unchanged lines hidden (view full) --- 297} 298 299static VncJobQueue *vnc_queue_init(void) 300{ 301 VncJobQueue *queue = g_malloc0(sizeof(VncJobQueue)); 302 303 qemu_cond_init(&queue->cond); 304 qemu_mutex_init(&queue->mutex); | 223 vnc_lock_queue(queue); 224 while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) { 225 qemu_cond_wait(&queue->cond, &queue->mutex); 226 } 227 /* Here job can only be NULL if queue->exit is true */ 228 job = QTAILQ_FIRST(&queue->jobs); 229 vnc_unlock_queue(queue); 230 --- 68 unchanged lines hidden (view full) --- 299} 300 301static VncJobQueue *vnc_queue_init(void) 302{ 303 VncJobQueue *queue = g_malloc0(sizeof(VncJobQueue)); 304 305 qemu_cond_init(&queue->cond); 306 qemu_mutex_init(&queue->mutex); |
307 buffer_init(&queue->buffer, "vnc-job-queue"); |
|
305 QTAILQ_INIT(&queue->jobs); 306 return queue; 307} 308 309static void vnc_queue_clear(VncJobQueue *q) 310{ 311 qemu_cond_destroy(&queue->cond); 312 qemu_mutex_destroy(&queue->mutex); --- 33 unchanged lines hidden --- | 308 QTAILQ_INIT(&queue->jobs); 309 return queue; 310} 311 312static void vnc_queue_clear(VncJobQueue *q) 313{ 314 qemu_cond_destroy(&queue->cond); 315 qemu_mutex_destroy(&queue->mutex); --- 33 unchanged lines hidden --- |