diff options
Diffstat (limited to 'src/osd/sdl/sdlwork.c')
-rw-r--r-- | src/osd/sdl/sdlwork.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osd/sdl/sdlwork.c b/src/osd/sdl/sdlwork.c index 8959855cc51..265ec1c6a1e 100644 --- a/src/osd/sdl/sdlwork.c +++ b/src/osd/sdl/sdlwork.c @@ -30,6 +30,9 @@ int sdl_num_processors = 0; #include "eminline.h" +#if defined(SDLMAME_MACOSX) +#include "osxutils.h" +#endif //============================================================ // DEBUGGING @@ -627,6 +630,10 @@ static void *worker_thread_entry(void *param) work_thread_info *thread = (work_thread_info *)param; osd_work_queue *queue = thread->queue; + #if defined(SDLMAME_MACOSX) + void *arp = NewAutoreleasePool(); + #endif + // loop until we exit for ( ;; ) { @@ -678,6 +685,11 @@ static void *worker_thread_entry(void *param) atomic_exchange32(&thread->active, FALSE); atomic_decrement32(&queue->livethreads); } + + #if defined(SDLMAME_MACOSX) + ReleaseAutoreleasePool(arp); + #endif + return NULL; } |