Resolves #1: when sending the unlock op, make sure we retry with a timeout instead of just giving up.