summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winwork.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/windows/winwork.c')
-rw-r--r--src/osd/windows/winwork.c4
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];