Changes in kernel/generic/src/synch/futex.c [11b285d:b59318e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/synch/futex.c
r11b285d rb59318e 398 398 } 399 399 400 /** Sleep in futex wait queue. 401 * 402 * @param uaddr Userspace address of the futex counter. 400 /** Sleep in futex wait queue with a timeout. 401 * If the sleep times out or is interrupted, the next wakeup is ignored. 402 * The userspace portion of the call must handle this condition. 403 * 404 * @param uaddr Userspace address of the futex counter. 405 * @param timeout Maximum number of useconds to sleep. 0 means no limit. 403 406 * 404 407 * @return If there is no physical mapping for uaddr ENOENT is … … 406 409 * waitq_sleep_timeout(). 407 410 */ 408 sys_errno_t sys_futex_sleep(uintptr_t uaddr )411 sys_errno_t sys_futex_sleep(uintptr_t uaddr, uintptr_t timeout) 409 412 { 410 413 futex_t *futex = get_futex(uaddr); … … 417 420 #endif 418 421 419 errno_t rc = waitq_sleep_timeout( 420 &futex->wq, 0, SYNCH_FLAGS_INTERRUPTIBLE, NULL);422 errno_t rc = waitq_sleep_timeout(&futex->wq, timeout, 423 SYNCH_FLAGS_INTERRUPTIBLE | SYNCH_FLAGS_FUTEX, NULL); 421 424 422 425 #ifdef CONFIG_UDEBUG
Note:
See TracChangeset
for help on using the changeset viewer.