read non block