Can we remove the op_mutex?
I think we can remove op_mutex -- and all the complexity it entails -- if we claim the handshake op on the handshake context thread (main thread) before starting the handshake thread, rather than doing it on the handshake thread. At least I don't see why that wouldn't work.