2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-23 03:18:55 +00:00
restic/internal
Michael Eischer 8554332894 rclone: Close rclone side of stdio_conn pipes
restic did not notice when the rclone subprocess exited unexpectedly.

restic manually created pipes for stdin and stdout and used these for the
connection to the rclone subprocess. The process creating a pipe gets
file descriptors for the sender and receiver side of a pipe and passes
them on to the subprocess. The expected behavior would be that reads or
writes in the parent process fail / return once the child process dies
as a pipe would now just have a reader or writer but not both.

However, this never happened as restic kept the reader and writer
file descriptors of the pipes. `cmd.StdinPipe` and `cmd.StdoutPipe`
close the subprocess side of pipes once the child process was started
and close the parent process side of pipes once wait has finished. We
can't use these functions as we need access to the raw `os.File` so just
replicate that behavior.
2020-07-26 00:29:25 +02:00
..
archiver Rename Index interface to MasterIndex 2020-07-25 21:19:46 +02:00
backend rclone: Close rclone side of stdio_conn pipes 2020-07-26 00:29:25 +02:00
cache Honor RESTIC_CACHE_DIR on Mac and Windows 2020-02-28 15:44:32 +01:00
checker Merge pull request #2328 from MichaelEischer/no-repeated-checks 2020-07-22 22:08:02 +02:00
crypto Typo in crypto test name 2020-04-18 17:39:06 +02:00
debug Remove build tag release 2018-10-11 19:40:38 +02:00
errors backup: Improve error message for invalid pattern 2018-10-03 11:12:51 +02:00
filter filter: Allow double wildcard in ChildMatch 2018-06-09 23:18:13 +02:00
fs Merge pull request #2583 from greatroar/unused 2020-03-01 10:46:17 +01:00
fuse Remove blob size cache from restic mount 2020-07-25 19:39:14 +02:00
hashing Micro-optimization for hashing.Writer/PackerManager 2020-03-05 22:30:04 +01:00
index Move Index.FindBlob to tests 2020-04-29 10:57:01 +02:00
limiter rclone: Respect bandwith limits 2018-05-22 20:48:17 +02:00
migrations clean up some errors from 'go vet ./...' 2018-09-05 08:04:55 -04:00
mock mock: Remove unused repository type 2019-04-13 13:38:39 +02:00
options improved slice copying 2019-06-30 23:56:36 +03:00
pack Move testing logic to test file in internal/pack 2020-03-09 14:32:28 +01:00
repository Rename Index interface to MasterIndex 2020-07-25 21:19:46 +02:00
restic Rename Index interface to MasterIndex 2020-07-25 21:19:46 +02:00
restorer make Lookup() return all blobs 2020-07-25 21:18:34 +02:00
selfupdate self-update: Don't cancel download after 30 seconds 2019-02-23 11:15:18 +01:00
test Remove remnant of Go 1.9 compatibility code from tests 2020-02-26 22:23:38 +01:00
textfile Add textfile 2018-05-01 14:38:59 +02:00
ui termstatus: Use io.WriteString to output messages. 2020-03-26 14:55:00 -07:00
walker walk: Pass parent tree ID to WalkFunc 2018-08-19 23:28:04 +02:00