diff options
| -rw-r--r-- | libc/SYSCALLS.TXT | 2 | ||||
| -rw-r--r-- | libc/arch-x86/syscalls/clock_nanosleep.S | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT index 5604582..1923ea0 100644 --- a/libc/SYSCALLS.TXT +++ b/libc/SYSCALLS.TXT @@ -183,7 +183,7 @@ int nanosleep(const struct timespec *, struct timespec *) 162 int clock_gettime(clockid_t clk_id, struct timespec *tp) 263,265 int clock_settime(clockid_t clk_id, const struct timespec *tp) 262,264 int clock_getres(clockid_t clk_id, struct timespec *res) 264,266 -int clock_nanosleep(const struct timespec *req, struct timespec *rem) 265,267 +int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem) 265,267 int getitimer(int, const struct itimerval *) 105 int setitimer(int, const struct itimerval *, struct itimerval *) 104 int __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid) 257,259 diff --git a/libc/arch-x86/syscalls/clock_nanosleep.S b/libc/arch-x86/syscalls/clock_nanosleep.S index c400e3f..23e1e6f 100644 --- a/libc/arch-x86/syscalls/clock_nanosleep.S +++ b/libc/arch-x86/syscalls/clock_nanosleep.S @@ -9,8 +9,12 @@ clock_nanosleep: pushl %ebx pushl %ecx - mov 12(%esp), %ebx - mov 16(%esp), %ecx + pushl %edx + pushl %esi + mov 20(%esp), %ebx + mov 24(%esp), %ecx + mov 28(%esp), %edx + mov 32(%esp), %esi movl $__NR_clock_nanosleep, %eax int $0x80 cmpl $-129, %eax @@ -21,6 +25,8 @@ clock_nanosleep: addl $4, %esp orl $-1, %eax 1: + popl %esi + popl %edx popl %ecx popl %ebx ret |
