Browse Source

librt: avoid compilation error

For NOMMU builds, LIBC_CANCEL_ASYNC and LIBC_CANCEL_RESET are not
defined. Prevent these macros from being visible by the compiler in
clock_nanosleep() by replacing "if (SINGLE_THREAD_P) {" with the
pre-compiler directive "#if defined(SINGLE_THREAD_P)".

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Damien Le Moal 3 years ago
parent
commit
08d46f1ce2
1 changed files with 3 additions and 2 deletions
  1. 3 2
      librt/clock_nanosleep.c

+ 3 - 2
librt/clock_nanosleep.c

@@ -36,9 +36,9 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
   if (clock_id == CLOCK_PROCESS_CPUTIME_ID)
     clock_id = MAKE_PROCESS_CPUCLOCK (0, CPUCLOCK_SCHED);
 
-  if (SINGLE_THREAD_P)
+#if defined(SINGLE_THREAD_P)
     r = INTERNAL_SYSCALL (clock_nanosleep, err, 4, clock_id, flags, req, rem);
-  else
+#else
     {
       int oldstate = LIBC_CANCEL_ASYNC ();
 
@@ -47,6 +47,7 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
 
       LIBC_CANCEL_RESET (oldstate);
     }
+#endif
 
   return (INTERNAL_SYSCALL_ERROR_P (r, err)
 	  ? INTERNAL_SYSCALL_ERRNO (r, err) : 0);