[Python-checkins] CVS: python/dist/src/Modules posixmodule.c,2.147,2.148

Fredrik Lundh python-dev@python.org
Sun, 9 Jul 2000 16:35:27 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory slayer.i.sourceforge.net:/tmp/cvs-serv840/Modules
Modified Files:
	posixmodule.c 
Log Message:
- changed the nt.popen2 return values back to
 (write, read, ...), based on feedback from GvR.
- added tuple-swapping code to popen2.py
- fixed some runaway indentation in posixmodule.c
Index: posixmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/posixmodule.c,v
retrieving revision 2.147
retrieving revision 2.148
diff -C2 -r2.147 -r2.148
*** posixmodule.c	2000年07月09日 17:59:32	2.147
--- posixmodule.c	2000年07月09日 23:35:24	2.148
***************
*** 2296,2302 ****
 static int
 _PyPopenCreateProcess(char *cmdstring,
! 					 HANDLE hStdin,
! 					 HANDLE hStdout,
! 					 HANDLE hStderr)
 {
 	PROCESS_INFORMATION piProcInfo;
--- 2296,2302 ----
 static int
 _PyPopenCreateProcess(char *cmdstring,
! 		 HANDLE hStdin,
! 		 HANDLE hStdout,
! 		 HANDLE hStderr)
 {
 	PROCESS_INFORMATION piProcInfo;
***************
*** 2361,2373 ****
 
 	if (CreateProcess(NULL,
! 					 s2,
! 					 NULL,
! 					 NULL,
! 					 TRUE,
! 					 CREATE_NEW_CONSOLE,
! 					 NULL,
! 					 NULL,
! 					 &siStartInfo,
! 					 &piProcInfo) ) {
 		/* Close the handles now so anyone waiting is woken. */
 		CloseHandle(piProcInfo.hProcess);
--- 2361,2373 ----
 
 	if (CreateProcess(NULL,
! 			 s2,
! 			 NULL,
! 			 NULL,
! 			 TRUE,
! 			 CREATE_NEW_CONSOLE,
! 			 NULL,
! 			 NULL,
! 			 &siStartInfo,
! 			 &piProcInfo) ) {
 		/* Close the handles now so anyone waiting is woken. */
 		CloseHandle(piProcInfo.hProcess);
***************
*** 2405,2411 ****
 	 * being created. */
 	 fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdinWr,
! 								GetCurrentProcess(), &hChildStdinWrDup, 0,
! 								FALSE,
! 								DUPLICATE_SAME_ACCESS);
 	 if (!fSuccess)
 		 return win32_error("DuplicateHandle", NULL);
--- 2405,2411 ----
 	 * being created. */
 	 fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdinWr,
! 				 GetCurrentProcess(), &hChildStdinWrDup, 0,
! 				 FALSE,
! 				 DUPLICATE_SAME_ACCESS);
 	 if (!fSuccess)
 		 return win32_error("DuplicateHandle", NULL);
***************
*** 2419,2425 ****
 
 	 fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdoutRd,
! 								GetCurrentProcess(), &hChildStdoutRdDup, 0,
! 								FALSE,
! 								DUPLICATE_SAME_ACCESS);
 	 if (!fSuccess)
 		 return win32_error("DuplicateHandle", NULL);
--- 2419,2424 ----
 
 	 fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdoutRd,
! 				 GetCurrentProcess(), &hChildStdoutRdDup, 0,
! 				 FALSE, DUPLICATE_SAME_ACCESS);
 	 if (!fSuccess)
 		 return win32_error("DuplicateHandle", NULL);
***************
*** 2432,2439 ****
 		 if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0))
 			 return win32_error("CreatePipe", NULL);
! 		 fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStderrRd,
! 									GetCurrentProcess(), &hChildStderrRdDup, 0,
! 									FALSE,
! 									DUPLICATE_SAME_ACCESS);
 		 if (!fSuccess)
 			 return win32_error("DuplicateHandle", NULL);
--- 2431,2439 ----
 		 if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0))
 			 return win32_error("CreatePipe", NULL);
! 		 fSuccess = DuplicateHandle(GetCurrentProcess(),
! 					 hChildStderrRd,
! 					 GetCurrentProcess(),
! 					 &hChildStderrRdDup, 0,
! 					 FALSE, DUPLICATE_SAME_ACCESS);
 		 if (!fSuccess)
 			 return win32_error("DuplicateHandle", NULL);
***************
*** 2517,2521 ****
 			 CloseHandle(hChildStderrRdDup);
 
! 		 f = Py_BuildValue("OO",p2,p1);
 		 break;
 	 }
--- 2517,2521 ----
 			 CloseHandle(hChildStderrRdDup);
 
! 		 f = Py_BuildValue("OO",p1,p2);
 		 break;
 	 }
***************
*** 2546,2550 ****
 		 PyFile_SetBufSize(p2, 0);
 		 PyFile_SetBufSize(p3, 0);
! 		 f = Py_BuildValue("OOO",p2,p1,p3);
 		 break;
 	 }
--- 2546,2550 ----
 		 PyFile_SetBufSize(p2, 0);
 		 PyFile_SetBufSize(p3, 0);
! 		 f = Py_BuildValue("OOO",p1,p2,p3);
 		 break;
 	 }
***************
*** 2553,2566 ****
 	 if (n == POPEN_4) {
 		 if (!_PyPopenCreateProcess(cmdstring,
! 									hChildStdinRd,
! 									hChildStdoutWr,
! 									hChildStdoutWr))
 			 return win32_error("CreateProcess", NULL);
 	 }
 	 else {
 		 if (!_PyPopenCreateProcess(cmdstring,
! 									hChildStdinRd,
! 									hChildStdoutWr,
! 									hChildStderrWr))
 			 return win32_error("CreateProcess", NULL);
 	 }
--- 2553,2566 ----
 	 if (n == POPEN_4) {
 		 if (!_PyPopenCreateProcess(cmdstring,
! 					 hChildStdinRd,
! 					 hChildStdoutWr,
! 					 hChildStdoutWr))
 			 return win32_error("CreateProcess", NULL);
 	 }
 	 else {
 		 if (!_PyPopenCreateProcess(cmdstring,
! 					 hChildStdinRd,
! 					 hChildStdoutWr,
! 					 hChildStderrWr))
 			 return win32_error("CreateProcess", NULL);
 	 }

AltStyle によって変換されたページ (->オリジナル) /