* Modules/posixmodule.c: some more NT changes
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 5f26b62..7bf69e7 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -116,6 +116,7 @@
 #include <process.h>
 #include <windows.h>
 #define popen   _popen
+#define pclose	_pclose
 #endif /* NT */
 
 #ifdef OS2
@@ -730,6 +731,7 @@
 	return NULL;
 }
 
+#ifndef NT
 static object *
 posix_fork(self, args)
 	object *self;
@@ -763,6 +765,7 @@
 		return NULL;
 	return newintobject((long)geteuid());
 }
+#endif /* !NT */
 
 static object *
 posix_getgid(self, args)
@@ -820,6 +823,7 @@
 
 #endif /* HAVE_SETPGRP */
 
+#ifndef NT
 static object *
 posix_getppid(self, args)
 	object *self;
@@ -853,6 +857,7 @@
 	INCREF(None);
 	return None;
 }
+#endif /* !NT */
 
 static object *
 posix_popen(self, args)
@@ -922,6 +927,7 @@
 }
 #endif /* HAVE_WAITPID */
 
+#ifndef NT
 static object *
 posix_wait(self, args)
 	object *self;
@@ -936,6 +942,7 @@
 	else
 		return mkvalue("ii", pid, sts);
 }
+#endif /* !NT */
 
 static object *
 posix_lstat(self, args)
@@ -1260,6 +1267,7 @@
 	object *self;
 	object *args;
 {
+#ifndef NT
 	int fds[2];
 	int res;
 	if (!getargs(args, ""))
@@ -1270,6 +1278,18 @@
 	if (res != 0)
 		return posix_error();
 	return mkvalue("(ii)", fds[0], fds[1]);
+#else /* NT */
+	HANDLE read, write;
+	BOOL ok;
+	if (!getargs(args, ""))
+		return NULL;
+	BGN_SAVE
+	ok = CreatePipe( &read, &write, NULL, 0);
+	END_SAVE
+	if (!ok)
+		return posix_error();
+	return mkvalue("(ii)", read, write);
+#endif /* NT */
 }
 
 static struct methodlist posix_methods[] = {
@@ -1362,10 +1382,7 @@
 	{"write",	posix_write},
 	{"fstat",	posix_fstat},
 	{"fdopen",	posix_fdopen},
-#ifndef NT
 	{"pipe",	posix_pipe},
-#endif /* !NT */
-
 	{NULL,		NULL}		 /* Sentinel */
 };