qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Venkatesan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (QPID-6811) Client API throws exception from destructors causing applications to terminate
Date Mon, 26 Oct 2015 00:30:27 GMT
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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message