From 123bf9cbe7ef2a44072b5e28c7e6a210814ad3f5 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Tue, 6 Nov 2018 09:27:13 +0100 Subject: [PATCH] st/nine: plug thread related leaks Signed-off-by: Andre Heider Reviewed-by: Axel Davy --- src/gallium/state_trackers/nine/nine_queue.c | 4 ++++ src/gallium/state_trackers/nine/nine_state.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/gallium/state_trackers/nine/nine_queue.c b/src/gallium/state_trackers/nine/nine_queue.c index 7a85798f0f4..c09810b1a8a 100644 --- a/src/gallium/state_trackers/nine/nine_queue.c +++ b/src/gallium/state_trackers/nine/nine_queue.c @@ -265,8 +265,12 @@ void nine_queue_delete(struct nine_queue_pool *ctx) { unsigned i; + mtx_destroy(&ctx->mutex_pop); + cnd_destroy(&ctx->event_pop); + mtx_destroy(&ctx->mutex_push); + cnd_destroy(&ctx->event_push); for (i = 0; i < NINE_CMD_BUFS; i++) FREE(ctx->pool[i].mem_pool); diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c index 74aaf57a549..273be88e2b8 100644 --- a/src/gallium/state_trackers/nine/nine_state.c +++ b/src/gallium/state_trackers/nine/nine_state.c @@ -234,7 +234,12 @@ nine_csmt_destroy( struct NineDevice9 *device, struct csmt_context *ctx ) nine_csmt_wait_processed(ctx); nine_queue_delete(ctx->pool); + + mtx_destroy(&ctx->thread_resume); + mtx_destroy(&ctx->thread_running); + mtx_destroy(&ctx->mutex_processed); + cnd_destroy(&ctx->event_processed); FREE(ctx); -- 2.30.2