On 10/01/2010 09:22 AM, Jim Meyering wrote:
+case $(stat --format %x a) in
+  *.000000000*) sleep 2;; # worst case file system is FAT
+  *) # FIXME: sleep .1 would be sufficient if %X showed nanoseconds
+ sleep 1;; # should be adequate for any system with subsecond resolution
+esac

We try hard to avoid sleeping in the common case.
Any reason not to do what the FIXME suggests?

      case $(stat --format %X a) in
        *.000000000) sleep 1;;

You need two seconds for FAT.

Yes.  FAT is already handled.
The case statement I suggested was intended to replace the "sleep 1" in
the default case (handling the FIXME) above, not to replace the existing
case statement.

I think you mis-parsed my FIXME conmment in patch 1/2. The point is that prior to either patch, %X lacks nanoseconds altogether (that is, you will never match *.00000000 or even *.[0-9]* until after patch 2). Which is why patch 2/2 deletes the FIXME, and goes with sleep .1, because %X is fixed to add nanoseconds. No second case statement needed.

--
Eric Blake   [email protected]    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Reply via email to