Skip to content

rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()`

Nick Mathewson requested to merge nickm/arti:rpclib-safer-handle into main

Its underlying function previously took &mut RpcHandle, which was an accident waiting to happen. Now it takes &RpcHandle and includes a Mutex to prevent multiple threads from waiting for updates on the same request ID at once.

As an alternative, we could try to update connimpl::Receiver to allow multiple simultaneous listeners on the same request ID. But that would (I think) require a lot more bookkeeping, and thus would be a bit more error-prone.

Closes #1532 (closed).

Merge request reports

Loading