38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
|
Dummy pthread_setaffinity_np() when not available
|
||
|
|
||
|
On uClibc configurations that do not use the NPTL thread
|
||
|
implementation, pthread_setaffinity_np() is not available. This patch
|
||
|
defines a dummy (empty) implementation of this function for such
|
||
|
cases.
|
||
|
|
||
|
The only few architectures that do not provide the NPTL thread
|
||
|
implementation are very likely to be non-SMP architectures, and
|
||
|
therefore, setting the affinity of the thread is not doing anything
|
||
|
useful, so having an empty stub for pthread_setaffinity_np() is not a
|
||
|
problem.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
|
||
|
Index: b/src/current/iozone.c
|
||
|
===================================================================
|
||
|
--- a/src/current/iozone.c
|
||
|
+++ b/src/current/iozone.c
|
||
|
@@ -306,6 +306,17 @@
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
+#if defined (__linux__)
|
||
|
+#include <features.h>
|
||
|
+#if defined (__UCLIBC__) && !defined (__UCLIBC_HAS_THREADS_NATIVE__)
|
||
|
+static int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,
|
||
|
+ const cpu_set_t *cpuset)
|
||
|
+{
|
||
|
+ return 0;
|
||
|
+}
|
||
|
+#endif
|
||
|
+#endif
|
||
|
+
|
||
|
#if ((defined(solaris) && defined(__LP64__)) || defined(__s390x__))
|
||
|
/* If we are building for 64-bit Solaris, all functions that return pointers
|
||
|
* must be declared before they are used; otherwise the compiler will assume
|