Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/generic/async.c	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -1868,4 +1868,23 @@
 	
 	amsg_destroy(msg);
+}
+
+/** Delay execution for the specified number of seconds
+ *
+ * @param sec Number of seconds to sleep
+ */
+void async_sleep(unsigned int sec)
+{
+	/*
+	 * Sleep in 1000 second steps to support
+	 * full argument range
+	 */
+
+	while (sec > 0) {
+		unsigned int period = (sec > 1000) ? 1000 : sec;
+
+		async_usleep(period * 1000000);
+		sec -= period;
+	}
 }
 
Index: uspace/lib/c/generic/fibril_synch.c
===================================================================
--- uspace/lib/c/generic/fibril_synch.c	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/generic/fibril_synch.c	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -629,40 +629,4 @@
 }
 
-/** Delay fibril execution for the specified number of microseconds
- *
- * @param usec Number of microseconds to sleep
- */
-void fibril_usleep(useconds_t usec)
-{
-	fibril_condvar_t cv;
-	fibril_mutex_t lock;
-
-	fibril_condvar_initialize(&cv);
-	fibril_mutex_initialize(&lock);
-	fibril_mutex_lock(&lock);
-	fibril_condvar_wait_timeout(&cv, &lock, usec);
-	fibril_mutex_unlock(&lock);
-}
-
-/** Delay fibril execution for the specified number of seconds
- *
- * @param sec Number of seconds to sleep
- */
-void fibril_sleep(unsigned int sec)
-{
-	/*
-	 * Sleep in 1000 second steps to support
-	 * full argument range
-	 */
-
-	while (sec > 0) {
-		unsigned int period = (sec > 1000) ? 1000 : sec;
-
-		fibril_usleep(period * 1000000);
-		sec -= period;
-	}
-}
-
-
 /** @}
  */
Index: uspace/lib/c/generic/irc.c
===================================================================
--- uspace/lib/c/generic/irc.c	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/generic/irc.c	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -34,6 +34,6 @@
 
 #include <assert.h>
+#include <async.h>
 #include <errno.h>
-#include <fibril_synch.h>
 #include <ipc/irc.h>
 #include <ipc/services.h>
@@ -72,5 +72,5 @@
 
 		// XXX This is just a temporary hack
-		fibril_usleep(500 * 1000);
+		async_usleep(500 * 1000);
 	}
 
Index: uspace/lib/c/include/async.h
===================================================================
--- uspace/lib/c/include/async.h	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/include/async.h	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -151,4 +151,6 @@
 
 extern void async_usleep(suseconds_t);
+extern void async_sleep(unsigned int);
+
 extern void async_create_manager(void);
 extern void async_destroy_manager(void);
Index: uspace/lib/c/include/fibril_synch.h
===================================================================
--- uspace/lib/c/include/fibril_synch.h	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/include/fibril_synch.h	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -173,6 +173,4 @@
 extern fibril_timer_state_t fibril_timer_clear(fibril_timer_t *);
 extern fibril_timer_state_t fibril_timer_clear_locked(fibril_timer_t *);
-extern void fibril_usleep(useconds_t);
-extern void fibril_sleep(unsigned int);
 
 #endif
Index: uspace/lib/c/test/fibril/timer.c
===================================================================
--- uspace/lib/c/test/fibril/timer.c	(revision d7e245a4441d9ac9a5bc843c867191e22499e44e)
+++ uspace/lib/c/test/fibril/timer.c	(revision 908d6349ec77726e8eb78ea800c7b5f2844c3dcb)
@@ -27,4 +27,5 @@
  */
 
+#include <async.h>
 #include <fibril_synch.h>
 #include <pcut/pcut.h>
@@ -77,5 +78,5 @@
 
 	fibril_timer_set_locked(t, 100 * 1000 * 1000, test_timeout_fn, &cnt);
-	fibril_usleep(1000);
+	async_usleep(1000);
 	fts = fibril_timer_clear_locked(t);
 	PCUT_ASSERT_INT_EQUALS(fts_active, fts);
@@ -100,5 +101,5 @@
 	cnt = 0;
 	fibril_timer_set(t, 100 * 1000 * 1000, test_timeout_fn, &cnt);
-	fibril_usleep(1000);
+	async_usleep(1000);
 	fts = fibril_timer_clear(t);
 	PCUT_ASSERT_INT_EQUALS(fts_active, fts);
@@ -126,5 +127,5 @@
 	fibril_mutex_unlock(&lock);
 
-	fibril_usleep(1000);
+	async_usleep(1000);
 
 	fibril_mutex_lock(&lock);
