Source

SCons / src / os_spawnv_fix.diff

? dist/src/Mac/IDE scripts/Hold option to open a script
? dist/src/Mac/IDE scripts/Insert file name
? dist/src/Mac/IDE scripts/Insert folder name
? dist/src/Mac/IDE scripts/Search Python Documentation
? dist/src/Mac/IDE scripts/Hack/Remove .pyc files
? dist/src/Mac/IDE scripts/Hack/Toolbox Assistant
Index: dist/src/Modules/posixmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/posixmodule.c,v
retrieving revision 2.213
diff -c -c -r2.213 posixmodule.c
*** dist/src/Modules/posixmodule.c	2001/12/03 20:41:00	2.213
--- dist/src/Modules/posixmodule.c	2001/12/05 00:52:58
***************
*** 1668,1674 ****
  #ifdef HAVE_SPAWNV
  static char posix_spawnv__doc__[] =
  "spawnv(mode, path, args)\n\
! Execute an executable path with arguments, replacing current process.\n\
  \n\
  	mode: mode of process creation\n\
  	path: path of executable file\n\
--- 1668,1674 ----
  #ifdef HAVE_SPAWNV
  static char posix_spawnv__doc__[] =
  "spawnv(mode, path, args)\n\
! Execute the program 'path' in a new process.\n\
  \n\
  	mode: mode of process creation\n\
  	path: path of executable file\n\
***************
*** 1717,1724 ****
  
  	if (mode == _OLD_P_OVERLAY)
  		mode = _P_OVERLAY;
  	spawnval = _spawnv(mode, path, argvlist);
! 
  	PyMem_DEL(argvlist);
  
  	if (spawnval == -1)
--- 1717,1727 ----
  
  	if (mode == _OLD_P_OVERLAY)
  		mode = _P_OVERLAY;
+ 	
+ 	Py_BEGIN_ALLOW_THREADS
  	spawnval = _spawnv(mode, path, argvlist);
! 	Py_END_ALLOW_THREADS
! 	
  	PyMem_DEL(argvlist);
  
  	if (spawnval == -1)
***************
*** 1734,1740 ****
  
  static char posix_spawnve__doc__[] =
  "spawnve(mode, path, args, env)\n\
! Execute a path with arguments and environment, replacing current process.\n\
  \n\
  	mode: mode of process creation\n\
  	path: path of executable file\n\
--- 1737,1743 ----
  
  static char posix_spawnve__doc__[] =
  "spawnve(mode, path, args, env)\n\
! Execute the program 'path' in a new process.\n\
  \n\
  	mode: mode of process creation\n\
  	path: path of executable file\n\
***************
*** 1830,1836 ****
--- 1833,1843 ----
  
  	if (mode == _OLD_P_OVERLAY)
  		mode = _P_OVERLAY;
+ 
+ 	Py_BEGIN_ALLOW_THREADS
  	spawnval = _spawnve(mode, path, argvlist, envlist);
+ 	Py_END_ALLOW_THREADS
+ 
  	if (spawnval == -1)
  		(void) posix_error();
  	else
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.