changeset 1151:b3d3dafecfe0

Add extra debugging to resource node de-allocation by checking refcount in dmResourceFree().
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 05 Mar 2015 05:00:50 +0200
parents 6f7503231c17
children 86f4bb342e8c
files src/dmres.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/dmres.c	Thu Mar 05 04:59:40 2015 +0200
+++ b/src/dmres.c	Thu Mar 05 05:00:50 2015 +0200
@@ -68,6 +68,18 @@
 {
     if (node != NULL)
     {
+#ifdef DM_DEBUG
+        if (node->lib != NULL) dmMutexLock(node->lib->mutex);
+        if (node->refcount > 0)
+        {
+            dmErrorMsg(
+                "Attempting to dmResourceFree(%p) node that has resfs %d > 0: '%s'.\n"
+                "FOPS=%p, fops->name=%s\n", 
+                node, node->refcount, node->filename,
+                node->fops, (node->fops != NULL) ? node->fops->name : "UNDEF");
+        }
+        if (node->lib != NULL) dmMutexUnlock(node->lib->mutex);
+#endif
         dmResourceFreeResData(node);
         dmResourceFreeRawData(node);
         dmFree(node->filename);