diff options
Diffstat (limited to 'src/osd/windows/winwork.c')
-rw-r--r-- | src/osd/windows/winwork.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/osd/windows/winwork.c b/src/osd/windows/winwork.c index 0d28da4ed98..2cc9ecec698 100644 --- a/src/osd/windows/winwork.c +++ b/src/osd/windows/winwork.c @@ -109,7 +109,7 @@ struct osd_work_queue volatile INT32 items; // items in the queue volatile INT32 livethreads; // number of live threads volatile INT32 waiting; // is someone waiting on the queue to complete? - volatile UINT8 exiting; // should the threads exit on their next opportunity? + volatile INT32 exiting; // should the threads exit on their next opportunity? UINT32 threads; // number of threads in this queue UINT32 flags; // creation flags work_thread_info * thread; // array of thread information @@ -323,7 +323,7 @@ void osd_work_queue_free(osd_work_queue *queue) end_timing(queue->thread[queue->threads].waittime); // signal all the threads to exit - queue->exiting = TRUE; + atomic_exchange32(&queue->exiting, TRUE); for (threadnum = 0; threadnum < queue->threads; threadnum++) { work_thread_info *thread = &queue->thread[threadnum]; |