pthread_mutex_t tdm_mutex_check_lock = PTHREAD_MUTEX_INITIALIZER;
int tdm_mutex_locked;
+const char *tdm_mutex_lock_func;
+int tdm_mutex_lock_line;
static tdm_private_layer *
_tdm_display_find_private_layer(tdm_private_output *private_output,
extern pthread_mutex_t tdm_mutex_check_lock;
extern int tdm_mutex_locked;
+extern const char *tdm_mutex_lock_func;
+extern int tdm_mutex_lock_line;
extern int tdm_dump_enable;
extern char *tdm_debug_dump_dir;
TDM_INFO("mutex unlock"); \
pthread_mutex_lock(&tdm_mutex_check_lock); \
tdm_mutex_locked = 0; \
+ tdm_mutex_lock_func = NULL; \
+ tdm_mutex_lock_line = 0; \
pthread_mutex_unlock(&tdm_mutex_check_lock); \
pthread_mutex_unlock(l); \
} while (0)
else { \
pthread_mutex_lock(&tdm_mutex_check_lock); \
tdm_mutex_locked = 1; \
+ tdm_mutex_lock_func = __FUNCTION__; \
+ tdm_mutex_lock_line = __LINE__; \
pthread_mutex_unlock(&tdm_mutex_check_lock); \
} \
} while (0)
pthread_mutex_lock(l); \
pthread_mutex_lock(&tdm_mutex_check_lock); \
tdm_mutex_locked = 1; \
+ tdm_mutex_lock_func = __FUNCTION__; \
+ tdm_mutex_lock_line = __LINE__; \
pthread_mutex_unlock(&tdm_mutex_check_lock); \
} while (0)
#endif //TDM_CONFIG_MUTEX_TIMEOUT