socket close_on_exec

socket close_on_exec

socket close_on_exec

父进程fork子进程后,子进程会复制父进程的socket描述符。如果想让子进程在exec时,释放掉所拥有的父进程的socket描述符,可以设置父进程的socket close_on_exec特性。
  if( fcntl(iSockFd, F_GETFD, arg) < 0 )    /*  这个很重要,要不下面设置不成功  */
 {
      exit(-1);
 }
 
 arg |= FD_CLOEXEC;
 
  if( fcntl(iSockFd, F_SETFD, 1) < 0 )
 {
      exit(-1);
 }

你可能感兴趣的:(socket close_on_exec)