rclone/backend
copilot-swe-agent[bot] 46bc876085 Fix zombie SSH processes by storing the first session in sshClientExternal
The real issue was that sshClientExternal.session was never assigned,
so Wait() always returned nil without waiting for the SSH process to exit.
This caused zombie processes because the process was never reaped.

The fix:
- Store the first session created in NewSession() to s.session
- This allows Wait() to actually wait for the SSH process
- The sync.Once pattern is still useful for thread-safety
- Updated comments to reflect the correct behavior

Fixes the zombie process issue reported in rclone/rclone#8929

Co-authored-by: ncw <536803+ncw@users.noreply.github.com>
2025-10-31 11:54:04 +00:00
..
alias config: make getting config values more consistent 2024-08-08 13:41:31 +01:00
all Archive backend to read archives on cloud storage. 2025-10-28 11:05:41 +00:00
archive Archive backend to read archives on cloud storage. 2025-10-28 11:05:41 +00:00
azureblob Revert "azureblob: fix deadlock with --max-connections with InvalidBlockOrBlob errors" 2025-09-22 17:39:27 +01:00
azurefiles azurefiles: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
b2 b2: fix 1TB+ uploads 2025-09-15 13:05:20 +01:00
box box: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
cache build: remove obsolete build tag 2025-10-21 18:56:06 +01:00
chunker chunker: fix double-transform 2025-06-12 18:31:01 +01:00
cloudinary cloudinary: var naming convention - #8416 2025-04-09 15:03:59 +01:00
combine build: remove x := x made unnecessary by the new semantics of loops in go1.22 2025-09-14 15:58:20 +01:00
compress compress: implement ListP interface 2025-04-08 15:14:09 +01:00
crypt crypt: implement ListP interface 2025-04-08 15:14:09 +01:00
doi build: use sequence Split introduced in go1.24 2025-09-15 12:45:57 +01:00
drive drive: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
dropbox dropbox: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
fichier fichier: fix server side move - fixes #7856 2024-09-06 18:20:10 +01:00
filefabric build: modernize Go usage 2025-02-28 11:31:14 +00:00
filelu build: replace interface{} by the 'any' type added in go1.18 2025-09-15 12:45:57 +01:00
filescom build: modernize Go usage 2025-02-28 11:31:14 +00:00
ftp ftp: fix SOCK proxy support - fixes #8892 (#8918) 2025-10-24 14:50:13 +01:00
gofile backend/gofile: update to use new direct upload endpoint 2025-05-27 14:28:25 +01:00
googlecloudstorage gcs: fix --gcs-storage-class to work with server side copy for objects 2025-10-30 15:20:16 +00:00
googlephotos googlephotos: added warning for Google Photos compatability-fixes #8672 2025-07-17 10:48:12 +01:00
hasher hasher: implement ListP interface 2025-04-08 15:14:09 +01:00
hdfs about: fix potential overflow of about in various backends 2025-07-31 11:38:51 +01:00
hidrive build: modernize Go usage 2025-02-28 11:31:14 +00:00
http http: correct root if definitely pointing to a file - fixes #8428 2025-03-17 18:05:23 +00:00
iclouddrive iclouddrive: fix panic and files potentially downloaded twice 2025-05-07 18:00:33 +01:00
imagekit imagekit: remove server side Copy method as it was downloading and uploading 2025-07-10 11:29:27 +01:00
internetarchive internetarchive: fix server side copy files with spaces 2025-09-04 10:37:27 +01:00
jottacloud jottacloud: refactor service list from map to slice to get predefined order 2025-10-11 20:57:19 +02:00
koofr docs: fix some function names in comments 2025-06-24 15:04:45 +01:00
linkbox build: enable all govet checks (except fieldalignment and shadow) and fix issues. 2025-10-22 18:37:58 +01:00
local local: add --skip-specials to ignore special files 2025-10-29 17:00:25 +00:00
mailru build: use sequence Split introduced in go1.24 2025-09-15 12:45:57 +01:00
mega about: fix potential overflow of about in various backends 2025-07-31 11:38:51 +01:00
memory memory: add ListP interface - #4788 2025-09-05 15:29:37 +01:00
netstorage walk: move NewListRHelper into list.Helper to avoid circular dependency 2025-04-08 15:14:00 +01:00
onedrive onedrive: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
opendrive build: modernize Go usage 2025-02-28 11:31:14 +00:00
oracleobjectstorage oraceobjectstorage: add ListP interface - #4788 2025-09-05 15:29:37 +01:00
pcloud pcloud: add ListP interface - #4788 2025-10-21 18:40:23 +01:00
pikpak pikpak: fix unnecessary retries by using URL expire parameter - fixes #8601 2025-09-19 12:46:26 +09:00
pixeldrain Add pixeldrain backend 2024-08-12 13:35:44 +01:00
premiumizeme about: fix potential overflow of about in various backends 2025-07-31 11:38:51 +01:00
protondrive proton: automated 2FA login with OTP secret key 2025-10-06 16:18:38 +01:00
putio build: modernize Go usage 2025-02-28 11:31:14 +00:00
qingstor walk: move NewListRHelper into list.Helper to avoid circular dependency 2025-04-08 15:14:00 +01:00
quatrix build: use the built-in min or max functions added in go1.21 2025-09-15 12:45:57 +01:00
s3 refactor: use strings.Builder to improve performance 2025-10-29 16:48:34 +00:00
seafile seafile: fix integration test errors by adding dot to encoding 2025-07-05 21:27:10 +01:00
sftp Fix zombie SSH processes by storing the first session in sshClientExternal 2025-10-31 11:54:04 +00:00
sharefile build: remove obsolete build tag 2025-10-21 18:56:06 +01:00
sia build: modernize Go usage 2025-02-28 11:31:14 +00:00
smb smb: optimize smb mount performance by avoiding stat checks during initialization 2025-09-22 15:33:44 +01:00
storj build: fix linting issues reported by running golangci-lint with different GOOS 2024-04-22 19:29:12 +02:00
sugarsync build: modernize Go usage 2025-02-28 11:31:14 +00:00
swift swift: Report disk usage in segment containers 2025-10-29 16:55:53 +00:00
ulozto ulozto: implement the about functionality 2025-10-30 15:06:37 +00:00
union build: remove x := x made unnecessary by the new semantics of loops in go1.22 2025-09-14 15:58:20 +01:00
uptobox build: modernize Go usage 2025-02-28 11:31:14 +00:00
webdav webdav: use SpaceSepList to parse bearer token command 2025-10-23 19:56:37 +01:00
yandex refactor: use strings.Builder to improve performance 2025-10-23 16:40:30 +01:00
zoho lib/oauthutil: add support for OAuth client credential flow 2024-12-13 11:34:11 +00:00