| Message ID | 20241030214534.539684-1-raj.khem@gmail.com |
|---|---|
| State | Accepted |
| Headers | show |
| Series | sched_attr: Do not define for glibc >= 2.41 | expand |
Hi Khem, > +/* sched_attr is not defined in glibc < 2.41 */ > +#ifndef SCHED_ATTR_SIZE_VER0 Thank you for the fix. This is faster than traditional AC_CHECK_MEMBERS(struct sched_attr) check, that's why I merged it. I suppose once musl adds the struct it also adds SCHED_ATTR_SIZE_VER0. If not we will need to use AC_CHECK_MEMBERS check. Bionic uses kernel headers anyway, thus it will work. Kind regards, Petr
diff --git a/include/lapi/sched.h b/include/lapi/sched.h index 26fdb628d..e1c7ff011 100644 --- a/include/lapi/sched.h +++ b/include/lapi/sched.h @@ -15,6 +15,8 @@ #include "lapi/syscalls.h" #include "lapi/sched.h" +/* sched_attr is not defined in glibc < 2.41 */ +#ifndef SCHED_ATTR_SIZE_VER0 struct sched_attr { uint32_t size; @@ -44,6 +46,7 @@ static inline int sched_getattr(pid_t pid, struct sched_attr *attr, { return syscall(__NR_sched_getattr, pid, attr, size, flags); } +#endif #ifndef HAVE_CLONE3 struct clone_args {
glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr functions and struct sched_attr. Therefore, it needs to be checked for here as well before defining sched_attr Define sched_attr conditionally on SCHED_ATTR_SIZE_VER0 Fixes builds with glibc/trunk [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- include/lapi/sched.h | 3 +++ 1 file changed, 3 insertions(+)