You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit adds the functionality to abort a specific gateway channel from
the initiator. Until now, this was not properly handled.
Changes:
* Implement TreeWorker._gateway_abort() that can be used to abort/cancel
all tasks being done by the TreeWorker via the specified gateway. In
case of such abort (likely due to some gateway failure), a special return
code 76 (os.EX_PROTOCOL) is used for closing all running remote commands via
this gateway. This return code is sometimes used to specify a "Remote
protocol error" / "An error occurred in a remote communication protocol"
which seems appropriate here.
* Implement a new Task._pchannel_closing() method that is called on
PropagationChannel.ev_close(), so deterministically every time a gateway
channel is closing (self-initiated or not). This method performs necessary
cleanup actions, but most notably calls TreeWorker._gateway_abort(gateway)
on each worker currently using the gateway channel.
Part of #229 and extended work on #566.
0 commit comments