put timeout into read event