facebookincubator/gloo

Interrupt waitSend/waitRecv

Closed this issue · 2 comments

These calls on the gloo::transport::UnboundBuffer class can currently not be interrupted. They wait on a condition variable that is to be notified by the I/O thread, or they timeout. There should also be a way to interrupt them from the outside in, for example if you're terminating a process and want to stop waiting for new messages to arrive.

@pietern, how could we go about implementing this? I was thinking we can have an atomic bool for interrupting waitRecv that is checked, and this bool can be set from the caller (i.e. ProcessGroupAgent) when we want to interrupt it.

Reopening this since the commit has been reverted due to libuv issues.