File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,8 @@ Thin Mode Changes
35
35
(`issue 426 <https://github.com/oracle/python-oracledb/issues/426 >`__).
36
36
#) Fixed hang when attempting to use pipelining against a database that
37
37
doesn't support the end of response flag.
38
+ #) Fixed hang when using asyncio and a connection is unexpectedly closed by
39
+ the database.
38
40
#) Error ``DPY-6002: The distinguished name (DN) on the server certificate
39
41
does not match the expected value: "{expected_dn}" `` now shows the expected
40
42
value.
Original file line number Diff line number Diff line change 1
1
# ------------------------------------------------------------------------------
2
- # Copyright (c) 2020, 2024 , Oracle and/or its affiliates.
2
+ # Copyright (c) 2020, 2025 , Oracle and/or its affiliates.
3
3
#
4
4
# This software is dual-licensed to you under the Universal Permissive License
5
5
# (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
@@ -761,7 +761,7 @@ cdef class BaseAsyncProtocol(BaseProtocol):
761
761
except :
762
762
if not self ._in_connect \
763
763
and self ._write_buf._packet_sent \
764
- and self ._read_buf. _transport is not None :
764
+ and self ._transport is not None :
765
765
self ._send_marker(self ._write_buf, TNS_MARKER_TYPE_BREAK)
766
766
await self ._reset()
767
767
raise
@@ -888,6 +888,10 @@ cdef class BaseAsyncProtocol(BaseProtocol):
888
888
"""
889
889
if not self ._in_connect:
890
890
self ._transport = None
891
+ if self ._read_buf._waiter is not None \
892
+ and not self ._read_buf._waiter.done():
893
+ error = errors._create_err(errors.ERR_CONNECTION_CLOSED)
894
+ self ._read_buf._waiter.set_exception(error.exc_type(error))
891
895
892
896
def data_received (self , data ):
893
897
"""
You can’t perform that action at this time.
0 commit comments