Mesa (8.0): darwin: Eliminate a pthread mutex leak

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Tue Apr 24 07:27:54 UTC 2012


Module: Mesa
Branch: 8.0
Commit: 69d8a25d429bccf960e98e5c126e1ef2ae4ffe9d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=69d8a25d429bccf960e98e5c126e1ef2ae4ffe9d

Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Mon Apr 23 16:43:22 2012 -0700

darwin: Eliminate a pthread mutex leak

Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Tested-by: Charles Davis <cdavis at mines.edu>
(cherry picked from commit 1a33c1b2b895566299ec76643659adacc239a3dc)

---

 src/glx/apple/apple_glx_drawable.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/glx/apple/apple_glx_drawable.c b/src/glx/apple/apple_glx_drawable.c
index 5530224..db28302 100644
--- a/src/glx/apple/apple_glx_drawable.c
+++ b/src/glx/apple/apple_glx_drawable.c
@@ -135,6 +135,7 @@ release_drawable(struct apple_glx_drawable *d)
 static bool
 destroy_drawable(struct apple_glx_drawable *d)
 {
+   int err;
 
    d->lock(d);
 
@@ -172,6 +173,12 @@ destroy_drawable(struct apple_glx_drawable *d)
 
    apple_glx_diagnostic("%s: freeing %p\n", __func__, (void *) d);
 
+   err = pthread_mutex_destroy(&d->mutex);
+   if (err) {
+      fprintf(stderr, "pthread_mutex_destroy error: %s\n", strerror(err));
+      abort();
+   }
+   
    free(d);
 
    /* So that the locks are balanced and the caller correctly unlocks. */




More information about the mesa-commit mailing list