Skip to content

Commit e06fcca

Browse files
committed
fix(ssh): reconnect on failed transport writes
1 parent 45461e1 commit e06fcca

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

shard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: placeos-driver
2-
version: 7.17.3
2+
version: 7.17.4
33

44
dependencies:
55
action-controller:

src/placeos-driver/transport/ssh.cr

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,10 @@ class PlaceOS::Driver
304304
socket << message
305305
end
306306
self
307+
rescue error
308+
# disconnect on failed sends - we need to reset state
309+
spawn(same_thread: true) { disconnect }
310+
raise error
307311
end
308312

309313
def send(message, task : PlaceOS::Driver::Task, &block : (Bytes, PlaceOS::Driver::Task) -> Nil) : TransportSSH

0 commit comments

Comments
 (0)