sytem() hangs if ConnectAttach() takes 0 as 4th&5th argu

Hi,
When after calling ConnectAttach(0,0,channelid,0,0), if any system() is used, it is hanging. Even vfork() is hanging.By analysis what I found is SIGCHLD is not coming from the child spawned by system().

  But if I give _NTO_SIDE_CHANNEL as the fourth argument or _NTO_COF_CLOEXEC as the 5th argument then SIGCHLD is coming and no hanging and every thing is fine.

  But what I could not understand is why SIGCHLD is not given by the spawned child. Can anybody tell what could be the reasons?