summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKarel Zak2012-10-22 11:03:09 +0200
committerKarel Zak2012-10-22 11:03:09 +0200
commit2a31396a9cee344fcc3a4d34f5e26954fccc6e16 (patch)
tree8fa988d37faeb9a1d21703b006b676f7e644cd6b /include
parentbuild-sys: remove gethostbyname() check (diff)
downloadkernel-qcow2-util-linux-2a31396a9cee344fcc3a4d34f5e26954fccc6e16.tar.gz
kernel-qcow2-util-linux-2a31396a9cee344fcc3a4d34f5e26954fccc6e16.tar.xz
kernel-qcow2-util-linux-2a31396a9cee344fcc3a4d34f5e26954fccc6e16.zip
include/c: move usleep() fallback to c.h
To make it available everywhere in code. Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/Makemodule.am1
-rw-r--r--include/all-io.h2
-rw-r--r--include/c.h15
-rw-r--r--include/usleep.h18
4 files changed, 17 insertions, 19 deletions
diff --git a/include/Makemodule.am b/include/Makemodule.am
index 9f9b78e3b..bef118f44 100644
--- a/include/Makemodule.am
+++ b/include/Makemodule.am
@@ -38,7 +38,6 @@ dist_noinst_HEADERS += \
include/sysfs.h \
include/tt.h \
include/ttyutils.h \
- include/usleep.h \
include/wholedisk.h \
include/widechar.h \
include/xalloc.h \
diff --git a/include/all-io.h b/include/all-io.h
index 38a760ff6..248759908 100644
--- a/include/all-io.h
+++ b/include/all-io.h
@@ -5,6 +5,8 @@
#include <unistd.h>
#include <errno.h>
+#include "c.h"
+
static inline int write_all(int fd, const void *buf, size_t count)
{
while (count) {
diff --git a/include/c.h b/include/c.h
index e343778b4..110728797 100644
--- a/include/c.h
+++ b/include/c.h
@@ -241,6 +241,21 @@ static inline size_t get_hostname_max(void)
return 64;
}
+#ifndef HAVE_USLEEP
+/*
+ * This function is marked obsolete in POSIX.1-2001 and removed in
+ * POSIX.1-2008. It is replaced with nanosleep().
+ */
+static inline usleep(useconds_t usec)
+{
+ struct timespec waittime = {
+ .tv_sec = usec / 1000000L,
+ .tv_nsec = (usec % 1000000L) * 1000
+ }
+ nanosleep(&waittime, NULL);
+}
+#endif
+
/*
* Constant strings for usage() functions. For more info see
* Documentation/howto-usage-function.txt and sys-utils/arch.c
diff --git a/include/usleep.h b/include/usleep.h
deleted file mode 100644
index f64477c99..000000000
--- a/include/usleep.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef UTIL_LINUX_USLEEP_H
-#define UTIL_LINUX_USLEEP_H
-
-#ifndef HAVE_USLEEP
-/*
- * This function is marked obsolete in POSIX.1-2001 and removed in
- * POSIX.1-2008. It is replaced with nanosleep().
- */
-# define usleep(x) \
- do { \
- struct timespec xsleep; \
- xsleep.tv_sec = x / 1000 / 1000; \
- xsleep.tv_nsec = (x - xsleep.tv_sec * 1000 * 1000) * 1000; \
- nanosleep(&xsleep, NULL); \
- } while (0)
-#endif
-
-#endif /* UTIL_LINUX_USLEEP_H */