8 Commits

Author SHA1 Message Date
Rich Felker
66140b0c92 fix return value of pthread_getaffinity_np and pthread_setaffinity_np
these functions are expected to return an error code rather than
setting errno and returning -1.
2014-12-02 22:17:52 -05:00
Rich Felker
a56e339419 fix uninitialized output from sched_getaffinity
the sched_getaffinity syscall only fills a cpu set up to the set size
used/supported by the kernel. the rest is left untouched and userspace
is responsible for zero-filling it based on the return value of the
syscall.
2014-12-02 21:54:36 -05:00
Rich Felker
adbf0258be remove useless __yield alias for sched_yield
this is no longer used for anything, and reportedly clashed with a
builtin on certain compilers.
2014-05-04 13:15:27 -04:00
Rich Felker
7406fdf5a1 add pthread_setaffinity_np and pthread_getaffinity_np functions 2013-08-10 21:41:05 -04:00
Rich Felker
eeb0328f20 add cpu affinity interfaces
this first commit just includes the CPU_* and sched_* interfaces, not
the pthread_* interfaces, which may be added later. simple
sanity-check testing has been done for the basic interfaces, but most
of the macros have not yet been tested.
2013-08-10 21:15:11 -04:00
Rich Felker
1e21e78bf7 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.
2012-11-11 15:38:04 -05:00
Rich Felker
b4560a6da9 avoid setting nondefault scheduler too 2012-05-03 23:19:29 -04:00
Rich Felker
61be1cfec1 implement stub versions of sched_*
these actually work, but for now they prohibit actually setting
priority levels and report min/max priority as 0.
2012-05-03 23:18:26 -04:00