Proper check and dropin replacement for usleep().

This commit is contained in:
Guus Sliepen 2011-01-12 20:57:14 +01:00
parent 4b8a599303
commit b3731c0409
3 changed files with 5 additions and 4 deletions

View file

@ -128,7 +128,7 @@ dnl Checks for library functions.
AC_FUNC_MEMCMP AC_FUNC_MEMCMP
AC_FUNC_ALLOCA AC_FUNC_ALLOCA
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork get_current_dir_name gettimeofday mlockall putenv random select strdup strerror strsignal strtol system unsetenv vsyslog writev], AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork get_current_dir_name gettimeofday mlockall putenv random select strdup strerror strsignal strtol system unsetenv usleep vsyslog writev],
[], [], [#include "have.h"] [], [], [#include "have.h"]
) )
AC_FUNC_MALLOC AC_FUNC_MALLOC

View file

@ -164,9 +164,10 @@ int gettimeofday(struct timeval *tv, void *tz) {
} }
#endif #endif
#ifdef HAVE_MINGW #ifndef HAVE_USLEEP
int usleep(long usec) { int usleep(long usec) {
Sleep(usec / 1000); struct timeval tv = {usec / 1000000, (usec / 1000) % 1000};
select(0, NULL, NULL, NULL, &tv);
return 0; return 0;
} }
#endif #endif

View file

@ -41,7 +41,7 @@ extern int vasprintf(char **, const char *, va_list ap);
extern int gettimeofday(struct timeval *, void *); extern int gettimeofday(struct timeval *, void *);
#endif #endif
#ifdef HAVE_MINGW #ifndef HAVE_USLEEP
extern int usleep(long); extern int usleep(long);
#endif #endif