Index: kernel/generic/include/synch/syswaitq.h
===================================================================
--- kernel/generic/include/synch/syswaitq.h	(revision 269bc4590881bab4b46e9716c4d88210c42c0b30)
+++ kernel/generic/include/synch/syswaitq.h	(revision 0b8fad2245012923c34d3392f1edf5059aa89abf)
@@ -44,5 +44,5 @@
 
 extern sys_errno_t sys_waitq_create(cap_waitq_handle_t *);
-extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uintptr_t);
+extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uint32_t, unsigned int);
 extern sys_errno_t sys_waitq_wakeup(cap_waitq_handle_t);
 extern sys_errno_t sys_waitq_destroy(cap_waitq_handle_t);
Index: kernel/generic/src/synch/syswaitq.c
===================================================================
--- kernel/generic/src/synch/syswaitq.c	(revision 269bc4590881bab4b46e9716c4d88210c42c0b30)
+++ kernel/generic/src/synch/syswaitq.c	(revision 0b8fad2245012923c34d3392f1edf5059aa89abf)
@@ -143,8 +143,11 @@
  * @param whandle  Waitq capability handle of the waitq in which to sleep.
  * @param timeout  Timeout in microseconds.
+ * @param flags    Flags from SYNCH_FLAGS_* family. SYNCH_FLAGS_INTERRUPTIBLE is
+ *                 always implied.
  *
  * @return         Error code.
  */
-sys_errno_t sys_waitq_sleep(cap_waitq_handle_t whandle, uintptr_t timeout)
+sys_errno_t sys_waitq_sleep(cap_waitq_handle_t whandle, uint32_t timeout,
+    unsigned int flags)
 {
 	kobject_t *kobj = kobject_get(TASK, whandle, KOBJECT_TYPE_WAITQ);
@@ -157,5 +160,5 @@
 
 	errno_t rc = waitq_sleep_timeout(kobj->waitq, timeout,
-	    SYNCH_FLAGS_INTERRUPTIBLE | SYNCH_FLAGS_FUTEX, NULL);
+	    SYNCH_FLAGS_INTERRUPTIBLE | flags, NULL);
 
 #ifdef CONFIG_UDEBUG
