always fire off disconnect handler in all cases