Venkatesan created QPID-6811:
--------------------------------
Summary: Client API throws exception from destructors causing
applications to terminate
Key: QPID-6811
URL: https://issues.apache.org/jira/browse/QPID-6811
Project: Qpid
Issue Type: Bug
Affects Versions: 0.32
Environment: All
Reporter: Venkatesan
Client API has couple of classes like ScopedUnlock which do "reverse" RAII -
unlock in ctor and lock in dtor. When locking fails in the destructor, it is
not handled and an exception is thrown. This causes application to crash when
the exception is thrown while stack is being unwound.
Scoped unlock does not seem the correct approach. Instead of freeing a resource
in the destructor whose failure is not catastrophic, ScopedUnlock tries to
acquire a resource on exit which can fail and there is no way this can be
communicated back to the code!
This class should be done away with and an explicit resource acquisition with
proper failure handling semantics should be used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]