Opened 8 years ago
Closed 8 years ago
#10721 closed Bugs (fixed)
boost::signals2 deadlock with pthread
Reported by: | Owned by: | Frank Mori Hess | |
---|---|---|---|
Milestone: | To Be Determined | Component: | signals2 |
Version: | Boost 1.56.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Hi,
boost::signals2 releases the tracked pointers while holding the lock of the following connection_body; if a destructor of a tracked object tries to use this connection (for example through signal::empty() or connection::connected()) it enters a recursive lock on windows (works fine) and deadlocks with pthread.
regards, Stefan
Attachments (2)
Change History (4)
by , 8 years ago
Attachment: | deadlock-boost-signals2.cpp added |
---|
by , 8 years ago
Attachment: | slot_call_iterator.hpp.patch added |
---|
comment:1 by , 8 years ago
Component: | None → signals2 |
---|---|
Owner: | set to |
Note:
See TracTickets
for help on using tickets.
The attached patch fixes the issue - I think it should be safe to release the tracked pointers outside the lock.