diff options
author | Daniel Mierswa <impulze@impulze.org> | 2009-08-17 21:22:02 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2009-08-21 09:58:17 +0200 |
commit | 437fa54f0516b39b633937fc20ff24c0dcc44bd7 (patch) | |
tree | 618a387d9c0eee684c6ed41a9c280817108e69ad /include | |
parent | 102f5d89d942ee54c5b9a5adfb04df8a5b09177f (diff) | |
download | util-linux-old-437fa54f0516b39b633937fc20ff24c0dcc44bd7.tar.gz |
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')
-rw-r--r-- | include/Makefile.am | 1 | ||||
-rw-r--r-- | include/usleep.h | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index f959659a..5669421b 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -16,6 +16,7 @@ dist_noinst_HEADERS = \ pttype.h \ setproctitle.h \ swapheader.h \ + usleep.h \ wholedisk.h \ widechar.h \ xstrncpy.h diff --git a/include/usleep.h b/include/usleep.h new file mode 100644 index 00000000..f64477c9 --- /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 */ |