nonblock read pipe