mirror of git://sourceware.org/git/glibc.git
bits/sched.h has logic to expose only an impl-namespace variant of struct sched_param (i.e. struct __sched_param), but nothing uses it, and the only header that includes bits/sched.h is sched.h. The __need_schedparam logic can therefore be removed. bits/sched.h also has a great deal of code relating to cpu_set_t objects that was *almost* the same between the two versions of bits/sched.h in the tree; a little spelunking indicated that this is because some bug fixes got applied to the Linux-specific bits/sched.h but not the generic one. Introduce a new header, bits/cpu-set.h, containing the version of that code with the bugfixes, have sched.h include it directly, and delete all of the code from both versions of bits/sched.h. Also remove the unnecessary name mangling in the definition of struct sched_param -- POSIX specifies a field 'sched_priority', so there is no reason to define it as '__sched_priority' and then paper over that with a macro. (Just in case someone was using the internal name, 'sched_priority' remains a macro defined to expand to itself, and '__sched_priority' now expands to 'sched_priority'.) Finally, as long as I'm touching these files anyway, merge new constants from linux/sched.h into the Linux bits/sched.h. * bits/sched.h: Remove __need_schedparam logic and replace with a normal multiple-include guard. Change field name in struct sched_param from __sched_priority to sched_priority. Delete everything under #ifndef __cpu_set_t_defined. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. Also sync with kernel sched.h, adding SCHED_ISO and SCHED_DEADLINE constants. * posix/sched.h: Include bits/cpu-set.h as well as bits/sched.h. For compatibility, #define sched_priority to itself, and #define __sched_priority as sched_priority. * posix/bits/cpu-set.h: New file containing, verbatim, the code that was under #ifndef __cpu_set_t_defined in sysdeps/unix/sysv/linux/bits/sched.h. * include/bits/cpu-set.h: New wrapper. * posix/Makefile: Install bits/cpu-set.h. |
||
|---|---|---|
| .. | ||
| types | ||
| a.out.h | ||
| dirent.h | ||
| epoll.h | ||
| errno.h | ||
| eventfd.h | ||
| fcntl-linux.h | ||
| fcntl.h | ||
| in.h | ||
| initspin.h | ||
| inotify.h | ||
| ioctl-types.h | ||
| ioctls.h | ||
| ipc.h | ||
| local_lim.h | ||
| mqueue.h | ||
| msq.h | ||
| param.h | ||
| poll.h | ||
| posix_opt.h | ||
| resource.h | ||
| sched.h | ||
| sem.h | ||
| shm.h | ||
| sigaction.h | ||
| sigcontext.h | ||
| sigevent-consts.h | ||
| siginfo-arch.h | ||
| siginfo-consts-arch.h | ||
| siginfo-consts.h | ||
| signalfd.h | ||
| signum.h | ||
| sigstack.h | ||
| socket.h | ||
| socket_type.h | ||
| ss_flags.h | ||
| stat.h | ||
| statfs.h | ||
| statvfs.h | ||
| sys_errlist.h | ||
| sysctl.h | ||
| termios.h | ||
| time.h | ||
| timerfd.h | ||
| timex.h | ||
| uio.h | ||
| utsname.h | ||
| waitflags.h | ||