Added O_NONBLOCK option