diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-09-24 16:31:29 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-09-24 16:31:29 +0000 |
commit | 9f2b28a508ac2789e2f778c7bb20a6759bbab8f1 (patch) | |
tree | c6fd30936e21061bc217dbd4dc7d01e116b0c896 /libc/sysdeps/linux | |
parent | 660cda8aadeba29f7958dd18e04ff8e0793d379c (diff) |
- only compile them if the respective syscalls are available
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/common/sched_getaffinity.c | 11 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/sched_setaffinity.c | 15 |
2 files changed, 23 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/common/sched_getaffinity.c b/libc/sysdeps/linux/common/sched_getaffinity.c index 678571239..b3256c207 100644 --- a/libc/sysdeps/linux/common/sched_getaffinity.c +++ b/libc/sysdeps/linux/common/sched_getaffinity.c @@ -26,8 +26,7 @@ #include <string.h> #include <sys/param.h> -/* Experimentally off - libc_hidden_proto(memset) */ - +#if defined __NR_sched_getaffinity #define __NR___syscall_sched_getaffinity __NR_sched_getaffinity static __inline__ _syscall3(int, __syscall_sched_getaffinity, __kernel_pid_t, pid, size_t, cpusetsize, cpu_set_t *, cpuset); @@ -45,5 +44,11 @@ int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset) } return res; } - +#elif defined __UCLIBC_HAS_STUBS__ +int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset) +{ + __set_errno(ENOSYS); + return -1; +} +#endif #endif diff --git a/libc/sysdeps/linux/common/sched_setaffinity.c b/libc/sysdeps/linux/common/sched_setaffinity.c index 7a854a819..004ec9dd0 100644 --- a/libc/sysdeps/linux/common/sched_setaffinity.c +++ b/libc/sysdeps/linux/common/sched_setaffinity.c @@ -30,6 +30,7 @@ #include <sys/param.h> #include <alloca.h> +#if defined __NR_sched_setaffinity libc_hidden_proto(getpid) #define __NR___syscall_sched_setaffinity __NR_sched_setaffinity @@ -73,5 +74,19 @@ int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset) return INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset); } +#else +#define ___HAVE_NO_sched_setaffinity #endif +#else +#define ___HAVE_NO_sched_setaffinity #endif + +#if defined ___HAVE_NO_sched_setaffinity && defined __UCLIBC_HAS_STUBS__ +int sched_setaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset) +{ + __set_errno(ENOSYS); + return -1; +} +#endif + +#endif /* __USE_GNU */ |