From 6d88bb3b24f3965a01f8f6ba81239094d79b6d0e Mon Sep 17 00:00:00 2001 From: Ramana Raja Date: Wed, 11 Jan 2023 21:53:16 -0500 Subject: [PATCH] pybind/rados: add ConnectionShutdown exception class Signed-off-by: Ramana Raja (cherry picked from commit e452899013323def87a8b9e6edbdae66067a827c) --- src/pybind/rados/rados.pyx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pybind/rados/rados.pyx b/src/pybind/rados/rados.pyx index 67d8a1e2c7e35..06c4a3547303f 100644 --- a/src/pybind/rados/rados.pyx +++ b/src/pybind/rados/rados.pyx @@ -224,6 +224,13 @@ class IsConnected(Error): "RADOS is connected error (%s)" % message, errno) +class ConnectionShutdown(OSError): + """ `ConnectionShutdown` class, derived from `OSError` """ + def __init__(self, message, errno=None): + super(ConnectionShutdown, self).__init__( + "RADOS connection was shutdown (%s)" % message, errno) + + IF UNAME_SYSNAME == "FreeBSD": cdef errno_to_exception = { errno.EPERM : PermissionError, @@ -240,6 +247,7 @@ IF UNAME_SYSNAME == "FreeBSD": errno.EISCONN : IsConnected, errno.EINVAL : InvalidArgumentError, errno.ENOTCONN : NotConnected, + errno.ESHUTDOWN : ConnectionShutdown, } ELSE: cdef errno_to_exception = { @@ -257,6 +265,7 @@ ELSE: errno.EISCONN : IsConnected, errno.EINVAL : InvalidArgumentError, errno.ENOTCONN : NotConnected, + errno.ESHUTDOWN : ConnectionShutdown, } -- 2.39.5