O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have
it, we need check before use.
This patch is much more like a workaround, since it may need fcntl() use
FD_CLOEXEC to replace.
Signed-off-by: Ting Liu <b28495@freescale.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>