diff --git a/src/gba/gba-thread.c b/src/gba/gba-thread.c index a47befd10..b4072a196 100644 --- a/src/gba/gba-thread.c +++ b/src/gba/gba-thread.c @@ -63,4 +63,7 @@ int GBAThreadStart(struct GBAThread* threadContext) { void GBAThreadJoin(struct GBAThread* threadContext) { pthread_join(threadContext->thread, 0); + + pthread_mutex_destroy(&threadContext->mutex); + pthread_cond_destroy(&threadContext->cond); } diff --git a/src/gba/renderers/video-software.c b/src/gba/renderers/video-software.c index 9f9937fe8..4ebbe8ed7 100644 --- a/src/gba/renderers/video-software.c +++ b/src/gba/renderers/video-software.c @@ -62,6 +62,9 @@ static void GBAVideoSoftwareRendererInit(struct GBAVideoRenderer* renderer) { static void GBAVideoSoftwareRendererDeinit(struct GBAVideoRenderer* renderer) { struct GBAVideoSoftwareRenderer* softwareRenderer = (struct GBAVideoSoftwareRenderer*) renderer; + + pthread_mutex_destroy(&softwareRenderer->mutex); + pthread_cond_destroy(&softwareRenderer->cond); } static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRenderer* renderer, uint32_t address, uint16_t value) {