sched/signal/sig_nanosleep.c and libc/time/lib_nanosleep.c: Implement clock_nanosleep(). nanosleep() is now reduced to a libc wrapper around clock_nanosleep().

This commit is contained in:
Gregory Nutt
2017-11-11 17:44:59 -06:00
parent 2ae1d62e67
commit 35ee844590
11 changed files with 223 additions and 64 deletions
+1 -1
View File
@@ -11,6 +11,7 @@
"clearenv","stdlib.h","!defined(CONFIG_DISABLE_ENVIRON)","int"
"clock_getres","time.h","","int","clockid_t","struct timespec*"
"clock_gettime","time.h","","int","clockid_t","struct timespec*"
"clock_nanosleep","time.h","!defined(CONFIG_DISABLE_SIGNALS)","int","clockid_t","int","FAR const struct timespec *", "FAR struct timespec*"
"clock_settime","time.h","","int","clockid_t","const struct timespec*"
"clock_systimer","nuttx/clock.h","!defined(__HAVE_KERNEL_GLOBALS)","systime_t"
"close","unistd.h","CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0","int","int"
@@ -55,7 +56,6 @@
"mq_timedsend","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","mqd_t","const char*","size_t","int","const struct timespec*"
"mq_unlink","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","const char*"
"on_exit","stdlib.h","defined(CONFIG_SCHED_ONEXIT)","int","CODE void (*)(int, FAR void *)","FAR void *"
"nanosleep","time.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const struct timespec *", "FAR struct timespec*"
"open","fcntl.h","CONFIG_NFILE_DESCRIPTORS > 0","int","const char*","int","..."
"opendir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","FAR DIR*","FAR const char*"
"pgalloc", "nuttx/arch.h", "defined(CONFIG_BUILD_KERNEL)", "uintptr_t", "uintptr_t", "unsigned int"
1 _exit unistd.h void int
11 clearenv stdlib.h !defined(CONFIG_DISABLE_ENVIRON) int
12 clock_getres time.h int clockid_t
13 clock_gettime time.h int clockid_t
14 clock_nanosleep time.h !defined(CONFIG_DISABLE_SIGNALS) int clockid_t
15 clock_settime time.h int clockid_t
16 clock_systimer nuttx/clock.h !defined(__HAVE_KERNEL_GLOBALS) systime_t
17 close unistd.h CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0 int int
56 mq_timedsend mqueue.h !defined(CONFIG_DISABLE_MQUEUE) int mqd_t
57 mq_unlink mqueue.h !defined(CONFIG_DISABLE_MQUEUE) int const char*
58 on_exit stdlib.h defined(CONFIG_SCHED_ONEXIT) int CODE void (*)(int, FAR void *)
nanosleep time.h !defined(CONFIG_DISABLE_SIGNALS) int FAR const struct timespec *
59 open fcntl.h CONFIG_NFILE_DESCRIPTORS > 0 int const char*
60 opendir dirent.h CONFIG_NFILE_DESCRIPTORS > 0 FAR DIR* FAR const char*
61 pgalloc nuttx/arch.h defined(CONFIG_BUILD_KERNEL) uintptr_t uintptr_t
+1 -1
View File
@@ -157,7 +157,7 @@ SYSCALL_LOOKUP(up_assert, 2, STUB_up_assert)
SYSCALL_LOOKUP(sigsuspend, 1, STUB_sigsuspend)
SYSCALL_LOOKUP(sigtimedwait, 3, STUB_sigtimedwait)
SYSCALL_LOOKUP(sigwaitinfo, 2, STUB_sigwaitinfo)
SYSCALL_LOOKUP(nanosleep, 2, STUB_nanosleep)
SYSCALL_LOOKUP(clock_nanosleep, 4, STUB_clock_nanosleep)
#endif
/* The following are only defined if the system clock is enabled in the
+2 -1
View File
@@ -153,7 +153,8 @@ uintptr_t STUB_sigsuspend(int nbr, uintptr_t parm1);
uintptr_t STUB_sigtimedwait(int nbr, uintptr_t parm1, uintptr_t parm2,
uintptr_t parm3);
uintptr_t STUB_sigwaitinfo(int nbr, uintptr_t parm1, uintptr_t parm2);
uintptr_t STUB_nanosleep(int nbr, uintptr_t parm1, uintptr_t parm2);
uintptr_t STUB_clock_nanosleep(int nbr, uintptr_t parm1, uintptr_t parm2,
uintptr_t parm3, uintptr_t parm4);
/* The following are only defined if the system clock is enabled in the
* NuttX configuration.