X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fdropin.c;h=d086ae1814dfdc3150744165f5b45991f9543a15;hb=ce4d55b72fd4290d4710f10e755f6dd9ed039d88;hp=2d08dc4675ce2bd1ea141b43a0af332f94558bcb;hpb=1545909dcb3ac618754486f4ccd4d8f237d64bb7;p=tinc diff --git a/src/dropin.c b/src/dropin.c index 2d08dc46..d086ae18 100644 --- a/src/dropin.c +++ b/src/dropin.c @@ -1,7 +1,7 @@ /* dropin.c -- a set of drop-in replacements for libc functions Copyright (C) 2000-2005 Ivo Timmermans, - 2000-2018 Guus Sliepen + 2000-2022 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,10 @@ #include "system.h" +#ifndef HAVE_ASPRINTF +#include "xalloc.h" +#endif + #ifndef HAVE_DAEMON /* Replacement for the daemon() function. @@ -126,7 +130,7 @@ int vasprintf(char **buf, const char *fmt, va_list ap) { #ifndef HAVE_GETTIMEOFDAY int gettimeofday(struct timeval *tv, void *tz) { -#ifdef HAVE_MINGW +#ifdef HAVE_WINDOWS FILETIME ft; GetSystemTimeAsFileTime(&ft); uint64_t lt = (uint64_t)ft.dwLowDateTime | ((uint64_t)ft.dwHighDateTime << 32); @@ -142,10 +146,11 @@ int gettimeofday(struct timeval *tv, void *tz) { } #endif -#ifndef HAVE_NANOSLEEP -int nanosleep(const struct timespec *req, struct timespec *rem) { - (void)rem; - struct timeval tv = {req->tv_sec, req->tv_nsec / 1000}; - return select(0, NULL, NULL, NULL, &tv); -} +bool sleep_millis(unsigned int ms) { +#ifdef _MSC_VER + Sleep(ms); + return true; +#else + return !usleep(ms * 1000); #endif +}