@@ -69,3 +69,20 @@ out:
return rv;
}
+int _starpu_check_mutex_deadlock(pthread_mutex_t *mutex)
+{
+ int ret;
+ ret = pthread_mutex_trylock(mutex);
+ if (!ret)
+ {
+ pthread_mutex_unlock(mutex);
+ return 0;
+ }
+
+ if (ret == EBUSY)
+ STARPU_ASSERT (ret != EDEADLK);
+ return 1;
+}
@@ -22,5 +22,6 @@
#include <sys/stat.h>
int _starpu_mkpath(const char *s, mode_t mode);
+int _starpu_check_mutex_deadlock(pthread_mutex_t *mutex);
#endif // __COMMON_UTILS_H__