src/lib/net.c 1.73

1.73 2009/09/25 00:21:40 galt
close all extra descriptors to fix fork for mysql5 client
Index: src/lib/net.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/net.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -b -B -U 4 -r1.72 -r1.73
--- src/lib/net.c	23 Sep 2009 18:42:28 -0000	1.72
+++ src/lib/net.c	25 Sep 2009 00:21:40 -0000	1.73
@@ -769,8 +769,14 @@
     fclose(stdout);
 
     close(pipefd[0]);  /* close unused half of pipe */
 
+    /* close other file descriptors */
+    int fd=0;
+    for (fd = STDERR_FILENO+1; fd < 64; fd++)
+      if (fd != pipefd[1] && fd != sdata && fd != sd)
+  	close(fd);
+
     char buf[32768];
     int rd = 0;
     long long dataPos = 0; 
     if ((npu.byteRangeStart != -1) && (npu.byteRangeEnd != -1))
@@ -789,9 +795,9 @@
 		break;	    
 	}
     if (rd == -1)
 	errnoAbort("error reading ftp socket");
-    close(pipefd[1]);  /* being safe */
+    close(pipefd[1]);  /* we are done with it */
     close(sd);
     close(sdata);
 
     exit(0);