libtpool: don't clone affinity if not supported
pthread_attr_(get/set)affinity_np() is glibc-only. This commit disable the code path that use those functions in non-glibc system. Fixes the following when building with musl: libzfs.so: undefined reference to`pthread_attr_setaffinity_np' libzfs.so: undefined reference to`pthread_attr_getaffinity_np' Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Leorize <alaviss@users.noreply.github.com> Closes #6571
This commit is contained in:
parent
0d3980acbc
commit
1ea8942faa
|
@ -252,6 +252,7 @@ pthread_attr_clone(pthread_attr_t *attr, const pthread_attr_t *old_attr)
|
||||||
if (error || (old_attr == NULL))
|
if (error || (old_attr == NULL))
|
||||||
return (error);
|
return (error);
|
||||||
|
|
||||||
|
#ifdef __GLIBC__
|
||||||
cpu_set_t cpuset;
|
cpu_set_t cpuset;
|
||||||
size_t cpusetsize = sizeof (cpuset);
|
size_t cpusetsize = sizeof (cpuset);
|
||||||
error = pthread_attr_getaffinity_np(old_attr, cpusetsize, &cpuset);
|
error = pthread_attr_getaffinity_np(old_attr, cpusetsize, &cpuset);
|
||||||
|
@ -259,6 +260,7 @@ pthread_attr_clone(pthread_attr_t *attr, const pthread_attr_t *old_attr)
|
||||||
error = pthread_attr_setaffinity_np(attr, cpusetsize, &cpuset);
|
error = pthread_attr_setaffinity_np(attr, cpusetsize, &cpuset);
|
||||||
if (error)
|
if (error)
|
||||||
goto error;
|
goto error;
|
||||||
|
#endif /* __GLIBC__ */
|
||||||
|
|
||||||
int detachstate;
|
int detachstate;
|
||||||
error = pthread_attr_getdetachstate(old_attr, &detachstate);
|
error = pthread_attr_getdetachstate(old_attr, &detachstate);
|
||||||
|
|
Loading…
Reference in New Issue