Skip to content

Commit f68d881

Browse files
committed
fix OSError bis: [Errno 9/107]
EBADF [errno 9]: socket connection is closed. ENOTCONN [errno 107]: socket never connected. cfr. https://www.gnu.org/software/libc/manual/html_node/Receiving-Data.html
1 parent 9c115cd commit f68d881

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

opcua/client/ua_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def disconnect_socket(self):
148148
try:
149149
self._socket.socket.shutdown(socket.SHUT_RDWR)
150150
except OSError as exc:
151-
if exc.errno == errno.ENOTCONN:
151+
if exc.errno in (errno.ENOTCONN, errno.EBADF):
152152
pass # Socket is not connected, so can't send FIN packet.
153153
else:
154154
raise
@@ -199,7 +199,7 @@ def close_secure_channel(self):
199199
# some servers send a response here, most do not ... so we ignore
200200
future.cancel()
201201
except OSError as exc:
202-
if exc.errno == errno.EBADF:
202+
if exc.errno in (errno.ENOTCONN, errno.EBADF):
203203
# Socket is closed, so can't send CloseSecureChannelRequest.
204204
self.logger.warning("close_secure_channel() failed: socket already closed")
205205
else:

0 commit comments

Comments
 (0)