Skip to content

Commit 6c1a369

Browse files
brubbeloroulet
authored andcommitted
fix: don't send unsubscribe request if SecureChannel is closed
Cfr. #737
1 parent 7b2af4e commit 6c1a369

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

opcua/client/ua_client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@ def close_secure_channel(self):
200200

201201
# some servers send a response here, most do not ... so we ignore
202202

203+
def is_secure_channel_open(self):
204+
return self._connection.is_open()
205+
203206

204207
class UaClient(object):
205208

@@ -270,6 +273,9 @@ def activate_session(self, parameters):
270273

271274
def close_session(self, deletesubscriptions):
272275
self.logger.info("close_session")
276+
# Bail out if we don't have an open server-channel to unsubsribe ourself.
277+
if not self._uasocket.is_secure_channel_open():
278+
return
273279
request = ua.CloseSessionRequest()
274280
request.DeleteSubscriptions = deletesubscriptions
275281
data = self._uasocket.send_request(request)

0 commit comments

Comments
 (0)