+++ /dev/null
---- a/src/fuse/mutex.c
-+++ b/src/fuse/mutex.c
-@@ -68,8 +68,13 @@ GNUNET_mutex_create (int isRecursive)
- if (isRecursive)
- {
- #ifdef __linux__
-+#if defined(__UCLIBC__) || defined(__GLIBC__)
- GNUNET_assert (0 == pthread_mutexattr_setkind_np
- (&attr, PTHREAD_MUTEX_RECURSIVE_NP));
-+#else
-+ GNUNET_assert (0 == pthread_mutexattr_settype
-+ (&attr, PTHREAD_MUTEX_RECURSIVE));
-+#endif
- #elif BSD || SOLARIS || OSX || WINDOWS
- GNUNET_assert (0 == pthread_mutexattr_settype
- (&attr, PTHREAD_MUTEX_RECURSIVE));
-@@ -78,11 +83,16 @@ GNUNET_mutex_create (int isRecursive)
- else
- {
- #ifdef __linux__
-+#if defined(__UCLIBC__) || defined(__GLIBC__)
- GNUNET_assert (0 == pthread_mutexattr_setkind_np
- (&attr, PTHREAD_MUTEX_ERRORCHECK_NP));
- #else
- GNUNET_assert (0 == pthread_mutexattr_settype
- (&attr, PTHREAD_MUTEX_ERRORCHECK));
-+#endif
-+#else
-+ GNUNET_assert (0 == pthread_mutexattr_settype
-+ (&attr, PTHREAD_MUTEX_ERRORCHECK));
- #endif
- }
- mut = GNUNET_new (struct GNUNET_Mutex);
--- /dev/null
+Always use pthread_mutexattr_settype() the
+pthread_mutexattr_setkind_np() is not available in the glibc and musl
+version used by OpenWrt.
+
+This patch was taken from:
+https://aur.archlinux.org/cgit/aur.git/plain/pthread_mutexattr_settype.patch?h=gnunet-fuse
+
+--- a/src/fuse/mutex.c
++++ b/src/fuse/mutex.c
+@@ -35,16 +35,6 @@
+ #endif
+ #endif
+
+-/**
+- * This prototype is somehow missing in various Linux pthread
+- * include files. But we need it and it seems to be available
+- * on all pthread-systems so far. Odd.
+- */
+-#ifndef _MSC_VER
+-extern int pthread_mutexattr_setkind_np (pthread_mutexattr_t * attr,
+- int kind);
+-#endif
+-
+
+ /**
+ * @brief Structure for MUTual EXclusion (Mutex).
+@@ -67,23 +57,13 @@ GNUNET_mutex_create (int isRecursive)
+ pthread_mutexattr_init (&attr);
+ if (isRecursive)
+ {
+-#ifdef __linux__
+- GNUNET_assert (0 == pthread_mutexattr_setkind_np
+- (&attr, PTHREAD_MUTEX_RECURSIVE_NP));
+-#elif BSD || SOLARIS || OSX || WINDOWS
+ GNUNET_assert (0 == pthread_mutexattr_settype
+ (&attr, PTHREAD_MUTEX_RECURSIVE));
+-#endif
+ }
+ else
+ {
+-#ifdef __linux__
+- GNUNET_assert (0 == pthread_mutexattr_setkind_np
+- (&attr, PTHREAD_MUTEX_ERRORCHECK_NP));
+-#else
+ GNUNET_assert (0 == pthread_mutexattr_settype
+ (&attr, PTHREAD_MUTEX_ERRORCHECK));
+-#endif
+ }
+ mut = GNUNET_new (struct GNUNET_Mutex);
+ GNUNET_assert (0 == pthread_mutex_init (&mut->pt, &attr));