diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c
index 9fcf64bb09b44b4fd6b5f487d2eaff2b0115462e..ba7a0837a8566ab96cb80a4594257f63d47ce795 100644
--- a/src/or/cpuworker.c
+++ b/src/or/cpuworker.c
@@ -127,8 +127,9 @@ int cpuworker_main(void *data) {
 
   close(fdarray[0]); /* this is the side of the socketpair the parent uses */
   fd = fdarray[1]; /* this side is ours */
+#ifndef MS_WINDOWS
   connection_free_all(); /* so the child doesn't hold the parent's fd's open */
-/* XXX probably don't close all the fd's on MS_WINDOWS? */
+#endif
 
   for(;;) {
 
diff --git a/src/or/dns.c b/src/or/dns.c
index 3112de3acd95744035af03a26ccd456d1d023a55..199958bb07d3904e0c51414b933fb299d7105e47 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -412,8 +412,9 @@ int dnsworker_main(void *data) {
 
   close(fdarray[0]); /* this is the side of the socketpair the parent uses */
   fd = fdarray[1]; /* this side is ours */
+#ifndef MS_WINDOWS
   connection_free_all(); /* so the child doesn't hold the parent's fd's open */
-/* XXX probably don't close all the fd's on MS_WINDOWS? */
+#endif
 
   for(;;) {