add FCNTL_NONBLOCK macro