This basically counts the number of filedata instances in existence at
any given point in time. If the number doesn't drop down to where it's
supposed to be, there are leaks.
#include <errno.h>
+#ifdef DEBUG_FILEDATA
+gint global_file_data_count = 0;
+#endif
+
static GHashTable *file_data_pool = NULL;
static GHashTable *file_data_planned_change_hash = NULL;
}
fd = g_new0(FileData, 1);
+#ifdef DEBUG_FILEDATA
+ global_file_data_count++;
+ DEBUG_2("file data count++: %d", global_file_data_count);
+#endif
fd->size = st->st_size;
fd->date = st->st_mtime;
g_assert(fd->ref == 0);
g_assert(!fd->locked);
+#ifdef DEBUG_FILEDATA
+ global_file_data_count--;
+ DEBUG_2("file data count--: %d", global_file_data_count);
+#endif
+
metadata_cache_free(fd);
g_hash_table_remove(file_data_pool, fd->original_path);