From 5546dab32970955e77ef7a5886bcd8fb765a25bf Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 27 Nov 2014 11:57:35 -0800 Subject: [PATCH] Use usleep() for msleep() if it is available. --- NEWS | 4 +++- configure.ac | 2 +- util2.c | 8 ++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 7bc205dd..84df781d 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,9 @@ Changes since 3.1.1: ENHANCEMENTS: - Added "(DRY RUN)" info to the --debug=exit output line. - - Added a few extra long options to rrsync script, which will make BackupPC happier. + - Use usleep() for our msleep() function if it is available. + - Added a few extra long-option names to rrsync script, which will make + BackupPC happier. DEVELOPER RELATED: diff --git a/configure.ac b/configure.ac index 70381f70..5c557a89 100644 --- a/configure.ac +++ b/configure.ac @@ -602,7 +602,7 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \ setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \ seteuid strerror putenv iconv_open locale_charset nl_langinfo getxattr \ extattr_get_link sigaction sigprocmask setattrlist getgrouplist \ - initgroups utimensat posix_fallocate attropen setvbuf) + initgroups utimensat posix_fallocate attropen setvbuf usleep) dnl cygwin iconv.h defines iconv_open as libiconv_open if test x"$ac_cv_func_iconv_open" != x"yes"; then diff --git a/util2.c b/util2.c index 6ffbcec6..bc9f66a4 100644 --- a/util2.c +++ b/util2.c @@ -35,6 +35,9 @@ extern int checksum_len; **/ int msleep(int t) { +#ifdef HAVE_USLEEP + usleep(t*1000); +#else int tdiff = 0; struct timeval tval, t1, t2; @@ -48,11 +51,12 @@ int msleep(int t) select(0,NULL,NULL, NULL, &tval); gettimeofday(&t2, NULL); - if (t2.tv_sec < t1.tv_sec) - t1 = t2; /* Time went backwards, so start over. */ tdiff = (t2.tv_sec - t1.tv_sec)*1000 + (t2.tv_usec - t1.tv_usec)/1000; + if (tdiff < 0) + t1 = t2; /* Time went backwards, so start over. */ } +#endif return True; } -- 2.47.2