X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/82980a23840452c069c37dd7c99c3ac937536847..5b56cc19fbd5ed6626a091aa9c5af7fa371dc73a:/util.c diff --git a/util.c b/util.c index b9616963..1752faeb 100644 --- a/util.c +++ b/util.c @@ -929,7 +929,53 @@ char *timestring(time_t t) return(TimeBuf); } -#ifdef __INSURE__ + +/******************************************************************* +sleep for a specified number of milliseconds +********************************************************************/ +void msleep(int t) +{ + int tdiff=0; + struct timeval tval,t1,t2; + + gettimeofday(&t1, NULL); + gettimeofday(&t2, NULL); + + while (tdiff < t) { + tval.tv_sec = (t-tdiff)/1000; + tval.tv_usec = 1000*((t-tdiff)%1000); + + errno = 0; + select(0,NULL,NULL, NULL, &tval); + + gettimeofday(&t2, NULL); + tdiff = (t2.tv_sec - t1.tv_sec)*1000 + + (t2.tv_usec - t1.tv_usec)/1000; + } +} + + +/******************************************************************* + Determine if two file modification times are equivalent (either exact + or in the modification timestamp window established by --modify-window) + Returns 0 if the times should be treated as the same, 1 if the + first is later and -1 if the 2nd is later + *******************************************************************/ +int cmp_modtime(time_t file1, time_t file2) +{ + time_t diff; + extern int modify_window; + + if (file2 > file1) { + if (file2 - file1 <= modify_window) return 0; + return -1; + } + if (file1 - file2 <= modify_window) return 0; + return 1; +} + + +#ifdef __INSURE__XX #include /*******************************************************************