Hello eveyone!

According to below reproduce steps,you could observe a rsync hang:

1:configure and startup rsync service and

mkdir /root/a
mkdir /root/b
dd if=/dev/zero of=/root/b/1 bs=1M count=1
dd if=/dev/zero of=/root/b/2 bs=1M count=1
dd if=/dev/zero of=/root/b/3 bs=1M count=1
dd if=/dev/zero of=/root/b/4 bs=1M count=1
dd if=/dev/zero of=/root/b/5 bs=1M count=1


2: start testcase

./change-time-loop.sh > /dev/null &
./rsync-loop.sh



After applying this patch ,this issue went away.


--- rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11 13:02:11.495609639 +0800 +++ rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11 13:01:37.606569696 +0800
@@ -1174,8 +1174,11 @@
  * Always returns TRUE.  (In the future it might return FALSE if
  * interrupted.)
  **/
+
 int msleep(int t)
 {
+
+#if 0
     int tdiff = 0;
     struct timeval tval, t1, t2;

@@ -1192,7 +1195,8 @@
         tdiff = (t2.tv_sec - t1.tv_sec)*1000 +
             (t2.tv_usec - t1.tv_usec)/1000;
     }
-
+#endif
+  usleep(t*1000);
     return True;
 }


Is it a correct fix? any comments would be appreciated!!!


Attachment: change-time-loop.sh
Description: Bourne shell script

Attachment: rsync-loop.sh
Description: Bourne shell script

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to