diff options
author | drh <> | 2023-08-03 12:41:30 +0000 |
---|---|---|
committer | drh <> | 2023-08-03 12:41:30 +0000 |
commit | 9b1334b7d3a31f80e43e3f467de38c8c645830bb (patch) | |
tree | fa7597448540efae8e41889398eb89bb172e56e5 /src/os_unix.c | |
parent | c874d60353c0a3ef592e1e77129b2b083a01af7f (diff) | |
download | sqlite-9b1334b7d3a31f80e43e3f467de38c8c645830bb.tar.gz sqlite-9b1334b7d3a31f80e43e3f467de38c8c645830bb.zip |
Unix builds now assume the presence of nanosleep() in the standard library.
The -DHAVE_NANOSLEEP=0 compile-time option can be used to build on systems
(if any still exist) where this is not the case.
FossilOrigin-Name: 779d5dc8797ea246d0397f7e94b1be716b0baa735e8d9f5a6fc4cffd887a7420
Diffstat (limited to 'src/os_unix.c')
-rw-r--r-- | src/os_unix.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index aed4ac213..59f67d142 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -6715,12 +6715,17 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nBuf, char *zBuf){ ** than the argument. */ static int unixSleep(sqlite3_vfs *NotUsed, int microseconds){ -#if OS_VXWORKS || _POSIX_C_SOURCE >= 199309L +#if !defined(HAVE_NANOSLEEP) || HAVE_NANOSLEEP+0 struct timespec sp; - sp.tv_sec = microseconds / 1000000; sp.tv_nsec = (microseconds % 1000000) * 1000; + + /* Almost all modern unix systems support nanosleep(). But if you are + ** compiling for one of the rare exceptions, you can use + ** -DHAVE_NANOSLEEP=0 (perhaps in conjuction with -DHAVE_USLEEP if + ** usleep() is available) in order to bypass the use of nanosleep() */ nanosleep(&sp, NULL); + UNUSED_PARAMETER(NotUsed); return microseconds; #elif defined(HAVE_USLEEP) && HAVE_USLEEP |