about summary refs log tree commit diff
path: root/src/process
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-11-11 15:38:04 -0500
committerRich Felker <dalias@aerifal.cx>2012-11-11 15:38:04 -0500
commit1e21e78bf7a5c24c217446d8760be7b7188711c2 (patch)
tree83920f2f5aad8bc090ddb55e57f74e062743e592 /src/process
parente9b885ee550e8a3eabc9d11c469baf1cfaf64f55 (diff)
downloadmusl-1e21e78bf7a5c24c217446d8760be7b7188711c2.tar.gz
musl-1e21e78bf7a5c24c217446d8760be7b7188711c2.tar.xz
musl-1e21e78bf7a5c24c217446d8760be7b7188711c2.zip
add support for thread scheduling (POSIX TPS option)
linux's sched_* syscalls actually implement the TPS (thread
scheduling) functionality, not the PS (process scheduling)
functionality which the sched_* functions are supposed to have.
omitting support for the PS option (and having the sched_* interfaces
fail with ENOSYS rather than omitting them, since some broken software
assumes they exist) seems to be the only conforming way to do this on
linux.
Diffstat (limited to 'src/process')
-rw-r--r--src/process/posix_spawnattr_sched.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/process/posix_spawnattr_sched.c b/src/process/posix_spawnattr_sched.c
new file mode 100644
index 00000000..e2ba0d19
--- /dev/null
+++ b/src/process/posix_spawnattr_sched.c
@@ -0,0 +1,25 @@
+#include <spawn.h>
+#include <sched.h>
+#include <errno.h>
+
+int posix_spawnattr_getschedparam(const posix_spawnattr_t *restrict attr,
+	struct sched_param *restrict schedparam)
+{
+	return ENOSYS;
+}
+
+int posix_spawnattr_setschedparam(posix_spawnattr_t *restrict attr,
+	const struct sched_param *restrict schedparam)
+{
+	return ENOSYS;
+}
+
+int posix_spawnattr_getschedpolicy(const posix_spawnattr_t *restrict attr, int *policy)
+{
+	return ENOSYS;
+}
+
+int posix_spawnattr_setschedpolicy(posix_spawnattr_t *restrict attr, int policy)
+{
+	return ENOSYS;
+}