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

ASF subversion and git services commented on QPID-8206:
-------------------------------------------------------

Commit ccacb5c7eb0ed9b2e4bc4735d3fb0aef332e8d28 in qpid-cpp's branch 
refs/heads/master from [~kpvdr]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-cpp.git;h=ccacb5c ]

QPID-8206: Deadlock in InactivityFireEvent cancel() and fire(): propoesed fix 
for deadlock


> [linearstore] Deadlock possible in InactivityFireEvent if fire() is called at 
> the same time as cancel()
> -------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8206
>                 URL: https://issues.apache.org/jira/browse/QPID-8206
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>            Priority: Major
>
> A deadlock has been observed in InactivityFireEvent if 
> {{InactivityFireEvent::fire()}} triggered by the timer occurs at almost the 
> same time as {{InactivityFireEvent::cancel()}} on another thread, and which 
> occurs if the queue is deleted.
> The mutex {{InactivityFireEvent::_ifeStateLock}} becomes deadlocked if the 
> thread calling {{cancel()}} obtains the lock, but a fire event is imminent. 
> The {{fire()}} call will then be blocked on this mutex. However, cancel 
> cannot complete until fire competes owing to the sys::Time Monitor which 
> waits for all fires to complete before allowing the cancel to occur.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to