include/c: move usleep() fallback to c.h

To make it available everywhere in code.

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2012-10-22 11:03:09 +02:00
parent dab8e8cfd4
commit 2a31396a9c
8 changed files with 19 additions and 25 deletions

View File

@ -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 \

View File

@ -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) {

View File

@ -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

View File

@ -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 */

View File

@ -19,8 +19,8 @@
#include "fsprobe.h"
#include "pathnames.h"
#include "nls.h"
#include "usleep.h"
#include "strutils.h"
#include "c.h"
#define streq(s, t) (strcmp ((s), (t)) == 0)

View File

@ -1,8 +1,7 @@
/*
* kd.c - KDGHWCLK stuff, possibly m68k only, likely to be deprecated
*/
# include "hwclock.h"
#include "hwclock.h"
#ifdef __m68k__
@ -12,7 +11,6 @@
# include <unistd.h>
# include "nls.h"
# include "usleep.h"
/* Get defines for KDGHWCLK and KDSHWCLK (m68k) */
# include <linux/kd.h>

View File

@ -38,7 +38,6 @@
#include "nls.h"
#include "xalloc.h"
#include "pathnames.h"
#include "usleep.h"
#include "strutils.h"
#include "c.h"
#include "closestream.h"

View File

@ -42,7 +42,6 @@
#include "nls.h"
#include "xalloc.h"
#include "usleep.h"
#include "strutils.h"
#include "c.h"
#include "closestream.h"