Yeah that definitely seems to be related... if I put a "checkConnected();" inside the libevent read() loop it seems to fix it. Not sure if that's the 'right' fix though?