Fix: don't start new timeout and keepalive threads when reconnecting