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
Bond::setCallbackQueue is setting the callback queue for only the Bond::bondStatusCB thread while the heartbeat_timer_ still uses the node's global callbackqueue. This disparity seems odd. This means that we don't know in which thread the bond broken callback function will execute.
If the other process breaks the bond explicitly, bondStatusCB will trigger the bond broken callback in the callbackqueue set from Bond::setCallbackQueue()
On the other hand, if there is a heartbeat timeout, then the bond broken callback is executed in the global queue.
This indeterministic behaviour is impossible for a programmer that wishes his broken callback queue to execute consistently in a specified thread.
The text was updated successfully, but these errors were encountered:
Bond::setCallbackQueue is setting the callback queue for only the Bond::bondStatusCB thread while the heartbeat_timer_ still uses the node's global callbackqueue. This disparity seems odd. This means that we don't know in which thread the bond broken callback function will execute.
If the other process breaks the bond explicitly, bondStatusCB will trigger the bond broken callback in the callbackqueue set from Bond::setCallbackQueue()
On the other hand, if there is a heartbeat timeout, then the bond broken callback is executed in the global queue.
This indeterministic behaviour is impossible for a programmer that wishes his broken callback queue to execute consistently in a specified thread.
The text was updated successfully, but these errors were encountered: