fix deadlock during resubscription

this could happen if a MSG comes in for subscription A while
resubscribing to subscription B

i.e.

  -> SUB A
  (wait for OK)
  -> SUB B
  <- MSG A (locks as no one's taking messages)
  (wait for OK - locks as the read loop is locked by MSG)