rsync.git
9 years agoPreparing for release of 3.1.1 v3.1.1
Wayne Davison [Sun, 22 Jun 2014 16:50:03 +0000 (09:50 -0700)]
Preparing for release of 3.1.1

9 years agoAdd a clarification about shell wildcard expansion.
Wayne Davison [Sun, 22 Jun 2014 16:41:17 +0000 (09:41 -0700)]
Add a clarification about shell wildcard expansion.

9 years agoMake sure the link() destination file doesn't exist.
Wayne Davison [Sun, 22 Jun 2014 16:04:24 +0000 (09:04 -0700)]
Make sure the link() destination file doesn't exist.

9 years agoMake sure cmp_time() doesn't mess up due to a time_t overflow.
Wayne Davison [Mon, 16 Jun 2014 00:30:09 +0000 (17:30 -0700)]
Make sure cmp_time() doesn't mess up due to a time_t overflow.
Fixes bug 10643.

9 years agoUpdated NEWS & tweaked a comment.
Wayne Davison [Sat, 14 Jun 2014 16:55:37 +0000 (09:55 -0700)]
Updated NEWS & tweaked a comment.

9 years agoPut zlib and popt -I options early in the CFLAGS.
Wayne Davison [Sat, 14 Jun 2014 16:48:56 +0000 (09:48 -0700)]
Put zlib and popt -I options early in the CFLAGS.

9 years agoFix hard-link bugs when receiver isn't capable.
Wayne Davison [Fri, 13 Jun 2014 22:58:26 +0000 (15:58 -0700)]
Fix hard-link bugs when receiver isn't capable.

If the receiving side cannot hard-link symlinks and/or special files
(including devices) then we now properly handle incoming hard-linked
items (creating separate identical items).

9 years agoAdded a flag to disable xattr hlink optimization.
Wayne Davison [Sun, 8 Jun 2014 17:22:09 +0000 (10:22 -0700)]
Added a flag to disable xattr hlink optimization.

I added a compatibility flag for protocol 31 that will let both sides
know if they should be using the xattr optimization that attempted to
avoid sending xattr info for hardlinked files.  Since this optimization
was causing some issues, this compatibility flag will ensure that both
sides know if they should be trying to use the optimization or not.

9 years agoI missed this tweak in the undo of a prior xattr optimization.
Wayne Davison [Sun, 8 Jun 2014 17:21:27 +0000 (10:21 -0700)]
I missed this tweak in the undo of a prior xattr optimization.

9 years agoPreparing for release of 3.1.1pre2 v3.1.1pre2
Wayne Davison [Mon, 26 May 2014 22:42:03 +0000 (15:42 -0700)]
Preparing for release of 3.1.1pre2

9 years agoMention all the latest changes in the NEWS.
Wayne Davison [Mon, 26 May 2014 21:08:20 +0000 (14:08 -0700)]
Mention all the latest changes in the NEWS.

9 years agoAvoid an xattr-finding glitch on the receiver.
Wayne Davison [Mon, 26 May 2014 21:04:49 +0000 (14:04 -0700)]
Avoid an xattr-finding glitch on the receiver.
Fixes bug 9594.

9 years agoAdd new-compress option to rrsync.
Wayne Davison [Mon, 26 May 2014 19:13:01 +0000 (12:13 -0700)]
Add new-compress option to rrsync.

9 years agoMake --omit-dir-times avoid early-create directories.
Wayne Davison [Sun, 25 May 2014 23:36:02 +0000 (16:36 -0700)]
Make --omit-dir-times avoid early-create directories.

9 years agoExit with a partial-transfer error for a sender-remove failure.
Wayne Davison [Sun, 25 May 2014 22:58:14 +0000 (15:58 -0700)]
Exit with a partial-transfer error for a sender-remove failure.

10 years agoCheck for attr lib.
Wayne Davison [Mon, 5 May 2014 16:25:13 +0000 (09:25 -0700)]
Check for attr lib.

10 years agoFix usermap/groupmap parsing of MIN-MAX IDs.
Wayne Davison [Wed, 30 Apr 2014 19:34:15 +0000 (12:34 -0700)]
Fix usermap/groupmap parsing of MIN-MAX IDs.

10 years agoCheck F_IS_ACTIVE() in a few more spots.
Wayne Davison [Sun, 20 Apr 2014 21:35:55 +0000 (14:35 -0700)]
Check F_IS_ACTIVE() in a few more spots.

The code needs to ignore flist entries that were marked inactive (by
either duplicate removal or empty-dir pruning) in a few more spots.

10 years agoChange args to file_checksum() to prepare for future changes.
Wayne Davison [Sat, 19 Apr 2014 23:26:35 +0000 (16:26 -0700)]
Change args to file_checksum() to prepare for future changes.

10 years agoAdd new-style compression that skips matching data.
Wayne Davison [Sat, 19 Apr 2014 19:11:11 +0000 (12:11 -0700)]
Add new-style compression that skips matching data.

Adding new-style compression that only compresses the literal data that
is sent over the wire and not also matching file data that was not sent.
This new-style compression is compatible with external zlib instances,
and will eventually become the default (once enough time has passed that
all servers support the --new-compress and --old-compress options).

NOTE: if you build rsync with an external zlib (i.e. if you specified
configure --with-included-zlib=no) you will ONLY get support for the
--new-compress option!  A client will treat -z as uncompressed (with a
warning) and a server will exit with an error (unless -zz was used).

10 years agoExpand the backslash description a bit more in excludes.
Wayne Davison [Sat, 19 Apr 2014 17:16:00 +0000 (10:16 -0700)]
Expand the backslash description a bit more in excludes.

10 years agoAvoid infinite wait reading secrets file.
Wayne Davison [Sun, 13 Apr 2014 20:44:58 +0000 (13:44 -0700)]
Avoid infinite wait reading secrets file.

10 years agoReceiver now rejects invalid filenames in filelist.
Wayne Davison [Sun, 13 Apr 2014 17:36:59 +0000 (10:36 -0700)]
Receiver now rejects invalid filenames in filelist.

If the receiver gets a filename with a leading slash (w/o --relative)
and/or a filename with an embedded ".." dir in the path, it dies with
an error (rather than continuing). Those invalid paths should never
happen in reality, so just reject someone trying to pull a fast one.

10 years agoMention how "max verbosity" affects info & debug opts.
Wayne Davison [Fri, 7 Mar 2014 22:27:18 +0000 (14:27 -0800)]
Mention how "max verbosity" affects info & debug opts.

10 years agoHave receiver strip bogus leading slashes on filenames.
Wayne Davison [Mon, 3 Mar 2014 00:37:44 +0000 (16:37 -0800)]
Have receiver strip bogus leading slashes on filenames.

If the receiver is running without --relative, it shouldn't be receiving
any filenames with a leading slash.  To ensure that the sender doesn't
try to pull a fast one on us, we now make flist_sort_and_clean() strip a
leading slash even if --relative isn't specified.

10 years agoAvoid the use of an extra leading dot when using --temp-dir.
Wayne Davison [Wed, 26 Feb 2014 21:44:01 +0000 (13:44 -0800)]
Avoid the use of an extra leading dot when using --temp-dir.

10 years agoExplicitly mention that dirs aren't affected by --update.
Wayne Davison [Mon, 24 Feb 2014 19:30:07 +0000 (11:30 -0800)]
Explicitly mention that dirs aren't affected by --update.

10 years agoInclude a systemd file that some distros might want.
Wayne Davison [Mon, 24 Feb 2014 18:16:35 +0000 (10:16 -0800)]
Include a systemd file that some distros might want.

10 years agoFix --info=progress2 info as a file is transferred.
Wayne Davison [Mon, 24 Feb 2014 17:49:04 +0000 (09:49 -0800)]
Fix --info=progress2 info as a file is transferred.

Applying Anish Shankar's patch to fix speed and stats of files as they
are transferred.  Fixes bug 10450.

10 years agoImprove the *.spec file a bit.
Wayne Davison [Mon, 27 Jan 2014 17:57:28 +0000 (09:57 -0800)]
Improve the *.spec file a bit.

10 years agoUse the patch's list of generated files for each patch.
Wayne Davison [Mon, 27 Jan 2014 17:18:03 +0000 (09:18 -0800)]
Use the patch's list of generated files for each patch.

10 years agoPreparing for release of 3.1.1pre1 v3.1.1pre1
Wayne Davison [Sun, 26 Jan 2014 17:32:43 +0000 (09:32 -0800)]
Preparing for release of 3.1.1pre1

10 years agoBump the year to 2014.
Wayne Davison [Sun, 26 Jan 2014 17:29:15 +0000 (09:29 -0800)]
Bump the year to 2014.

10 years agoMore NEWS improvements.
Wayne Davison [Sun, 26 Jan 2014 17:21:47 +0000 (09:21 -0800)]
More NEWS improvements.

10 years agoFix "unchanged" protocol designation.
Wayne Davison [Mon, 20 Jan 2014 03:44:30 +0000 (19:44 -0800)]
Fix "unchanged" protocol designation.

10 years agoMention the latest NEWS items.
Wayne Davison [Sun, 19 Jan 2014 23:24:07 +0000 (15:24 -0800)]
Mention the latest NEWS items.

10 years agoUndo the hard-link xattr optimization in 78286a03.
Wayne Davison [Sun, 19 Jan 2014 22:59:43 +0000 (14:59 -0800)]
Undo the hard-link xattr optimization in 78286a03.

I'm backing out the xattr optimization that was put in to try
to make xattr data sending more optimal on hard-linked files.
The code was causing hard-to-reproduce bugs, and it's better to
get things done fully & correctly over fully optimally.

10 years agoFix the leaving of a temp file w/o partial-file saving.
Wayne Davison [Sun, 19 Jan 2014 22:35:05 +0000 (14:35 -0800)]
Fix the leaving of a temp file w/o partial-file saving.
Fixed bug 10350.

10 years agoAvoid ACL and/or xattr lookups on IS_MISSING_FILE() entries.
Wayne Davison [Sun, 19 Jan 2014 20:24:01 +0000 (12:24 -0800)]
Avoid ACL and/or xattr lookups on IS_MISSING_FILE() entries.
Fixes bug 10381.

10 years agoAdd IS_MISSING_FILE(statbuf) macro.
Wayne Davison [Sun, 19 Jan 2014 20:23:39 +0000 (12:23 -0800)]
Add IS_MISSING_FILE(statbuf) macro.

10 years agoAdding IVAL64() and SIVAL64().
Wayne Davison [Sun, 19 Jan 2014 20:02:38 +0000 (12:02 -0800)]
Adding IVAL64() and SIVAL64().

10 years agoHandle more x86 hosts w/o resorting to CAREFUL_ALIGNMENT.
Wayne Davison [Sun, 19 Jan 2014 19:48:14 +0000 (11:48 -0800)]
Handle more x86 hosts w/o resorting to CAREFUL_ALIGNMENT.

10 years agoWe really depend on autoconf 2.60 these days.
Wayne Davison [Thu, 2 Jan 2014 18:56:03 +0000 (10:56 -0800)]
We really depend on autoconf 2.60 these days.

10 years agoAdding rsync-no-vanished script for bug 10356.
Wayne Davison [Wed, 1 Jan 2014 18:35:08 +0000 (10:35 -0800)]
Adding rsync-no-vanished script for bug 10356.

10 years agoWarn about lack of yodl2man at end of configure run.
Wayne Davison [Wed, 1 Jan 2014 17:56:40 +0000 (09:56 -0800)]
Warn about lack of yodl2man at end of configure run.

10 years agoRestoring use of socketpair on cygwin.
Wayne Davison [Wed, 25 Dec 2013 22:20:52 +0000 (14:20 -0800)]
Restoring use of socketpair on cygwin.

Use of socketpair is much faster on cygwin, and some folks report fewer
hangs using the modern socketpair implementation vs pipes.

10 years agoUse 0 (not NULL) for a non-pointer arg.
Wayne Davison [Wed, 25 Dec 2013 22:19:30 +0000 (14:19 -0800)]
Use 0 (not NULL) for a non-pointer arg.

10 years agoTry to fix bug 7865 for some acl() EINVAL results.
Wayne Davison [Wed, 25 Dec 2013 18:18:41 +0000 (10:18 -0800)]
Try to fix bug 7865 for some acl() EINVAL results.

10 years agoFix a few issues with make_path().
Wayne Davison [Mon, 23 Dec 2013 18:27:24 +0000 (10:27 -0800)]
Fix a few issues with make_path().

The make_path() utility function was not returning the right status
when --dry-run was used, so I added some stat() checking that only
happens for -n.  I also noticed that the function was not handling
the case where the whole path needed to be created, so I fixed that.
Fixes bug 10209.

10 years agoChange owner+group before setting xattrs to avoid xattr loss.
Wayne Davison [Mon, 23 Dec 2013 17:49:17 +0000 (09:49 -0800)]
Change owner+group before setting xattrs to avoid xattr loss.
Fixes bug 10163.

10 years agoFix a typo that Stefan Beller pointed out.
Wayne Davison [Sun, 15 Dec 2013 00:25:18 +0000 (16:25 -0800)]
Fix a typo that Stefan Beller pointed out.

10 years agoA delete_item() error should use FERROR_XFER.
Wayne Davison [Sun, 1 Dec 2013 23:58:17 +0000 (15:58 -0800)]
A delete_item() error should use FERROR_XFER.
Fixes bug 10024.

10 years agoTweak log_delete() to send MSG_DELETED more.
Wayne Davison [Thu, 28 Nov 2013 19:03:48 +0000 (11:03 -0800)]
Tweak log_delete() to send MSG_DELETED more.

If the client is the sender and it is wanting to log deletes, the
current generator code neglects to send MSG_DELETED to the client side
unless some delete verbosity is enabled.  With this new version on the
generator side, the logfile will now mention deletes, even if the
sending (client) side is an older rsync.  Fixes bug 10182.

10 years agoCreate and use write_bigbuf() function for extra-large buffer sizes.
Wayne Davison [Mon, 25 Nov 2013 21:12:35 +0000 (13:12 -0800)]
Create and use write_bigbuf() function for extra-large buffer sizes.

10 years agoUse chunked xattr reading in OS X sys_lgetxattr().
Wayne Davison [Mon, 25 Nov 2013 21:12:09 +0000 (13:12 -0800)]
Use chunked xattr reading in OS X sys_lgetxattr().

10 years agoFix itemize bug with --link-dest, -X, and -n.
Wayne Davison [Mon, 25 Nov 2013 17:12:06 +0000 (09:12 -0800)]
Fix itemize bug with --link-dest, -X, and -n.

When running with --*-dest & -X, some alt-dest-found files would not
use the right name when looking up old attrs in itemize(), causing a
weird error for a --dry-run copy.  Fixes bug 10238.

10 years agoAvoid useless keepalive msgs that would kill an older rsync.
Wayne Davison [Mon, 11 Nov 2013 00:15:30 +0000 (16:15 -0800)]
Avoid useless keepalive msgs that would kill an older 

This fix avoids the sending of keep-alive messages from the receiver
to the sender when we are still sending the file list (at which time
an older rsync would die if it received such a keep-alive message).
The messages aren't actually needed, since we haven't forked yet, and
the single flow of data keeps the procs alive.

10 years agoFix timeout checking in safe_read().
Wayne Davison [Sat, 9 Nov 2013 18:49:59 +0000 (10:49 -0800)]
Fix timeout checking in safe_read().

10 years agoChange safe_read() to select() before reading.
Wayne Davison [Sat, 9 Nov 2013 18:32:44 +0000 (10:32 -0800)]
Change safe_read() to select() before reading.

10 years agoGit rid of uneeded extern.
Wayne Davison [Sun, 27 Oct 2013 18:26:29 +0000 (11:26 -0700)]
Git rid of uneeded extern.

10 years agoReturn an error if a buffer overflows in do_mknod().
Wayne Davison [Sun, 27 Oct 2013 17:12:53 +0000 (10:12 -0700)]
Return an error if a buffer overflows in do_mknod().

10 years agoRestore sending of "-ef" marker to the server.
Wayne Davison [Sun, 27 Oct 2013 15:58:06 +0000 (08:58 -0700)]
Restore sending of "-ef" marker to the server.

10 years agoDon't use comma_num() in FLOG output.
Wayne Davison [Sat, 26 Oct 2013 23:28:15 +0000 (16:28 -0700)]
Don't use comma_num() in FLOG output.

10 years agoDon't forget about --debug and --info for rrsync.
Wayne Davison [Fri, 4 Oct 2013 21:10:44 +0000 (14:10 -0700)]
Don't forget about --debug and --info for rrsync.

10 years agoA few more new options that rsync 3.1.0 can pass.
Wayne Davison [Fri, 4 Oct 2013 20:57:58 +0000 (13:57 -0700)]
A few more new options that rsync 3.1.0 can pass.

10 years agoPrepare repository for more development.
Wayne Davison [Thu, 3 Oct 2013 17:45:49 +0000 (10:45 -0700)]
Prepare repository for more development.

10 years agoPreparing for release of 3.1.0 v3.1.0
Wayne Davison [Sat, 28 Sep 2013 20:55:54 +0000 (13:55 -0700)]
Preparing for release of 3.1.0

10 years agoRemove unused var.
Wayne Davison [Sat, 28 Sep 2013 20:53:23 +0000 (13:53 -0700)]
Remove unused var.

10 years agoFlush write buffer on an aborted in-place transfer.
Wayne Davison [Sat, 28 Sep 2013 17:11:35 +0000 (10:11 -0700)]
Flush write buffer on an aborted in-place transfer.

10 years agoMention latest news.
Wayne Davison [Mon, 16 Sep 2013 16:23:35 +0000 (09:23 -0700)]
Mention latest news.

10 years agoFix the visit-all-patches path.
Wayne Davison [Mon, 16 Sep 2013 16:15:14 +0000 (09:15 -0700)]
Fix the visit-all-patches path.

10 years agoFix error in write_sparse() on incomplete write.
Wayne Davison [Mon, 16 Sep 2013 16:00:53 +0000 (09:00 -0700)]
Fix error in write_sparse() on incomplete write.

Fix a problem where sparse_seek could get left non-zero when we
did not finish writing all the data that would take us to that
sparse gap.  Issue pointed out by David Taylor.

10 years agoRemove bypassed checksums in --inplace to improve speed.
Wayne Davison [Sat, 3 Aug 2013 16:44:13 +0000 (09:44 -0700)]
Remove bypassed checksums in --inplace to improve speed.

When checking a checksum that refers to a part of an --inplace file that
has been overwritten w/o getting SUMFLG_SAME_OFFSET set, we remove the
checksum from the list.  This will speed up files that have a lot of
identical checksum blocks (e.g. sequences of zeros) that we can't use
due to them not getting marked as being the same.  Patch provided by
Michael Chapman.

10 years agoPreparing for release of 3.1.0pre1 v3.1.0pre1
Wayne Davison [Sun, 28 Jul 2013 17:36:43 +0000 (10:36 -0700)]
Preparing for release of 3.1.0pre1

10 years agoWe need a trailing dot when using --server --daemon.
Wayne Davison [Fri, 12 Jul 2013 22:28:54 +0000 (15:28 -0700)]
We need a trailing dot when using --server --daemon.

10 years agoLook for REMOTE_HOST before SSH_* environment options.
Wayne Davison [Fri, 12 Jul 2013 22:24:58 +0000 (15:24 -0700)]
Look for REMOTE_HOST before SSH_* environment options.

10 years agoSet DESTDIR for make install.
Wayne Davison [Sun, 23 Jun 2013 22:47:09 +0000 (15:47 -0700)]
Set DESTDIR for make install.

10 years agoMention latest changes.
Wayne Davison [Sun, 16 Jun 2013 23:59:24 +0000 (16:59 -0700)]
Mention latest changes.

10 years agoBe a little clearer about full-line comments.
Wayne Davison [Sun, 16 Jun 2013 23:43:14 +0000 (16:43 -0700)]
Be a little clearer about full-line comments.

10 years agoGet GPL name right.
Wayne Davison [Sun, 16 Jun 2013 23:36:27 +0000 (16:36 -0700)]
Get GPL name right.

10 years agoMention right option when using --delete-delay.
Wayne Davison [Sun, 16 Jun 2013 23:33:32 +0000 (16:33 -0700)]
Mention right option when using --delete-delay.

10 years agoSupport rsync daemon over SSL via stunnel.
Wayne Davison [Sat, 15 Jun 2013 21:40:52 +0000 (14:40 -0700)]
Support rsync daemon over SSL via stunnel.

Added the client rsync-ssl script and various client/daemon support
files needed for talking to an rsync daemon over SSL on port 874 (no
tls support).  This uses an elegant stunnel setup that was detailed
by dozzie (see the resources page) now that stunnel4 has improved
command-spawning support.  Also incorporates some tweaks by devzero
(e.g. the nice no-tmpfile-config client-side code) and a few by me
(including logging of the actual remote IP that came in to the
stunnel process).  This probably still needs a little work.

10 years agoFix "make check".
Wayne Davison [Wed, 12 Jun 2013 01:06:53 +0000 (18:06 -0700)]
Fix "make check".

10 years agoMove some code from util.c to util2.c and add sum_as_hex().
Wayne Davison [Tue, 11 Jun 2013 20:35:19 +0000 (13:35 -0700)]
Move some code from util.c to util2.c and add sum_as_hex().

10 years agoSet number_separator the first time it gets used.
Wayne Davison [Tue, 11 Jun 2013 20:28:45 +0000 (13:28 -0700)]
Set number_separator the first time it gets used.

10 years agoMore NEWS changes.
Wayne Davison [Mon, 10 Jun 2013 05:28:24 +0000 (22:28 -0700)]
More NEWS changes.

10 years agoUpgrading zlib to 1.2.8.
Wayne Davison [Mon, 10 Jun 2013 05:24:10 +0000 (22:24 -0700)]
Upgrading zlib to 1.2.8.

10 years agoRename lsh.pl -> lsh.
Wayne Davison [Mon, 10 Jun 2013 02:40:00 +0000 (19:40 -0700)]
Rename lsh.pl -> lsh.

10 years agoRename lsh -> lsh.sh.
Wayne Davison [Mon, 10 Jun 2013 02:39:44 +0000 (19:39 -0700)]
Rename lsh -> lsh.sh.

10 years agoUpdating NEWS with the latest changes.
Wayne Davison [Sun, 9 Jun 2013 22:11:06 +0000 (15:11 -0700)]
Updating NEWS with the latest changes.

10 years agoAllow --password-file=- for a stdin-supplied password.
Wayne Davison [Sun, 9 Jun 2013 19:04:25 +0000 (12:04 -0700)]
Allow --password-file=- for a stdin-supplied password.

10 years agoFix module-name splitting with --protect-args.
Wayne Davison [Sun, 2 Jun 2013 22:53:40 +0000 (15:53 -0700)]
Fix module-name splitting with --protect-args.
Fixes bug 8838.

10 years agoTweak --checksum-seed docs.
Wayne Davison [Sun, 2 Jun 2013 20:14:27 +0000 (13:14 -0700)]
Tweak --checksum-seed docs.

10 years agoAvoid preallocation on inplace file that is already long enough.
Wayne Davison [Sun, 2 Jun 2013 19:37:48 +0000 (12:37 -0700)]
Avoid preallocation on inplace file that is already long enough.

10 years agoLook for got_kill_signal in a couple more spots.
Wayne Davison [Tue, 28 May 2013 05:53:48 +0000 (22:53 -0700)]
Look for got_kill_signal in a couple more spots.

10 years agoImprove logic of code vs exit_code (etc.) in cleanup.
Wayne Davison [Sun, 26 May 2013 23:18:49 +0000 (16:18 -0700)]
Improve logic of code vs exit_code (etc.) in cleanup.

10 years agoForward a MSG_ERROR_EXIT value to generator too.
Wayne Davison [Sun, 26 May 2013 23:10:57 +0000 (16:10 -0700)]
Forward a MSG_ERROR_EXIT value to generator too.
Fixes bug 9882.

10 years agoAvoid I/O via signal-handler thread.
Wayne Davison [Sun, 26 May 2013 21:52:50 +0000 (14:52 -0700)]
Avoid I/O via signal-handler thread.

The cleanup code will try to flush the output buffer in some
circumstances, which is not valid if we're handling an async signal
(since it might have interrupted some partial I/O in the main thread).
These signals now set a flag and try to let the main I/O handler take
care of the exit strategy.  Fixes a protocol error that could happen
when trying to exit after a kill signal.

11 years agoImprove iconvbufs() to do more buffer size checks.
Wayne Davison [Sun, 19 May 2013 23:56:34 +0000 (23:56 +0000)]
Improve iconvbufs() to do more buffer size checks.

- If iconv() returns EINVAL or EILSEQ and the error is being ignored, make
  sure that there is room in the output buffer to store the erroneous char.
- When accepting an erroneous char, be sure to break if there are no more
  input characters (without calling iconv() with a zero input length).

11 years agoFix msleep() if time goes backwards. Fixes bug 9789.
Wayne Davison [Sun, 19 May 2013 22:52:00 +0000 (22:52 +0000)]
Fix msleep() if time goes backwards.  Fixes bug 9789.