system 启动进程执行socket 出错

我在程序中开了一个监听端口,后面通过system执行启动一个进程,该进程会复制父进程的资源, 导致我从该端口返回消息时,连接的客户端收不到我的回复消息,不过我能够网卡中抓到该消息,后面通过修改fcntl(fdt, F_SETFD, FD_CLOEXEC)就能够修复该问题,客户端就能收到我的消息,我不明白为什么能在网卡上找到发出的数据包,怎么客户端收不到呢,

http://blog.csdn.net/jeffbao/article/details/18242515