summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/replace/replace.c14
-rw-r--r--lib/replace/replace.h6
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/replace/replace.c b/lib/replace/replace.c
index 03fae90859..892f56792c 100644
--- a/lib/replace/replace.c
+++ b/lib/replace/replace.c
@@ -890,3 +890,17 @@ int rep_getpeereid(int s, uid_t *uid, gid_t *gid)
#endif
}
#endif
+
+#ifndef HAVE_USLEEP
+int rep_usleep(useconds_t sec)
+{
+ struct timeval tval;
+ /*
+ * Fake it with select...
+ */
+ tval.tv_sec = 0;
+ tval.tv_usec = usecs/1000;
+ select(0,NULL,NULL,NULL,&tval);
+ return 0;
+}
+#endif /* HAVE_USLEEP */
diff --git a/lib/replace/replace.h b/lib/replace/replace.h
index f2b1952376..776da8aa4a 100644
--- a/lib/replace/replace.h
+++ b/lib/replace/replace.h
@@ -835,4 +835,10 @@ char *rep_getpass(const char *prompt);
int rep_getpeereid(int s, uid_t *uid, gid_t *gid);
#endif
+#ifndef HAVE_USLEEP
+#define usleep rep_usleep
+typedef long useconds_t;
+int usleep(useconds_t);
+#endif
+
#endif /* _LIBREPLACE_REPLACE_H */