#35 Sending SIGINT to rsync causes error 20, but q-f-m fails to break out of retry loop
Closed: Fixed Opened by cra.

Due to the other issue with error 23 causing an infinite loop, I tried to kill the rsync process to allow q-f-m to give up on the rsync and finish so I could run it again in a clean state. Sending SIGINT to rsync causes it it exit with code 20, but q-f-m fails to bail at that point:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(546) [receiver=3.0.6]

Log: rsync returned 20. This is not recoverable.
rsync returned 20
do_rsync:65: command not found: this

and continues with the retry loop:

Calling /usr/bin/rsync -aSH -f R .~tmp~ --stats --delay-updates --out-format=@ %i %n%L -v -v --files-from=master-transferlist.sorted ...

Making it not possible to break out of the infinite retry without killing q-f-m itself.


I think adding a break here would fix this:

    else
        # Some other code we didn't anticipate                                                                                                                            
        logit E rsync returned $rr.  This is not recoverable.
        (>&2 echo rsync returned $rr; this is not recoverable.
            [[ -f $errlog ]] && cat $errlog
        )
        break

Fixed with 1107845ff4185bec349469210730401705f22fee.

Metadata Update from @tibbs:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

Metadata