You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Venkatesan (JIRA)" <ji...@apache.org> on 2015/10/26 01:31:27 UTC

[jira] [Commented] (QPID-6811) Client API throws exception from destructors causing applications to terminate

    [ https://issues.apache.org/jira/browse/QPID-6811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14973522#comment-14973522 ] 

Venkatesan commented on QPID-6811:
----------------------------------

Other cases where exception thrown in dtor terminates client applications

> 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