diff options
author | Daniel Mierswa | 2009-08-17 21:22:02 +0200 |
---|---|---|
committer | Karel Zak | 2009-08-21 09:58:17 +0200 |
commit | 437fa54f0516b39b633937fc20ff24c0dcc44bd7 (patch) | |
tree | 618a387d9c0eee684c6ed41a9c280817108e69ad /include/usleep.h | |
parent | hwclocks: use time limit for KDGHWCLK busy wait (diff) | |
download | kernel-qcow2-util-linux-437fa54f0516b39b633937fc20ff24c0dcc44bd7.tar.gz kernel-qcow2-util-linux-437fa54f0516b39b633937fc20ff24c0dcc44bd7.tar.xz kernel-qcow2-util-linux-437fa54f0516b39b633937fc20ff24c0dcc44bd7.zip |
replace usleep() for systems that don't have them
This function is marked obsolete in POSIX.1-2001 and removed in
POSIX.1-2008.
Conditionally replaced with nanosleep().
Signed-off-by: Daniel Mierswa <impulze@impulze.org>
Diffstat (limited to 'include/usleep.h')
-rw-r--r-- | include/usleep.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/usleep.h b/include/usleep.h new file mode 100644 index 000000000..f64477c99 --- /dev/null +++ b/include/usleep.h @@ -0,0 +1,18 @@ +#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 */ |