backend: fixed blocking read bug