You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I encountered a situation where my code emitted a dmsg_warning. It triggers a Qt event to react, and change the component icon. However, something went wrong in the Qt side and a Qt error was emitted. Since we listen to Qt errors, it also emits a msg_*.
Therefore, a msg_* is called inside a dmsg_warning call. The problem is that a mutex protects each call when entering the message functions (PUBLIC_API_ENTRY_POINT_MUTEX). And if a mutex is locked twice in the same thread, it crashes.
To solve this situation, a std::recursive_mutex would help. But I think there is a design problem in the first place. To be discussed...
The text was updated successfully, but these errors were encountered:
I encountered a situation where my code emitted a
dmsg_warning
. It triggers a Qt event to react, and change the component icon. However, something went wrong in the Qt side and a Qt error was emitted. Since we listen to Qt errors, it also emits amsg_*
.Therefore, a
msg_*
is called inside admsg_warning
call. The problem is that a mutex protects each call when entering the message functions (PUBLIC_API_ENTRY_POINT_MUTEX
). And if a mutex is locked twice in the same thread, it crashes.To solve this situation, a
std::recursive_mutex
would help. But I think there is a design problem in the first place. To be discussed...The text was updated successfully, but these errors were encountered: