pgollucci    2008-12-25 14:57:06 UTC

  FreeBSD ports repository

  Modified files:
    devel/scons          Makefile 
  Added files:
    devel/scons/files    patch-engine-SCons-compat-__init__.py 
                         patch-engine-SCons-compat-_scons_subprocess.py 
  Log:
  Python's subprocess module has a race condition: Popen() constructor has a 
call to global "_cleanup()" function on whenever a Popen object gets created, 
and that call causes a check for all pending Popen objects whether their 
subprocess has exited - i.e. the poll() method is called for every active Popen 
object.
  
  See http://bugs.python.org/issue1731717 for addition details
  
  SCon's compat/_scons_subprocess.py module is just a copy of a more recent
  stock Python subprocess.py modified so it will work with older Python
  versions.
  
  The attached patch will add locks around calls to Popen and change
  the compat module in a way that the subprocess module is always used, no 
matter if Python already ships one.
  
  The rationale behind this decision is that there are many Python versions in 
the wild with different Popen() race condition problems.
  
  PR:             ports/128845
  Submitted by:   Steven Kreuzer <[email protected]>
  Approved by:  araujo (mentor, implicit)
  
  Revision  Changes    Path
  1.35      +1 -0      ports/devel/scons/Makefile
  1.1       +29 -0     
ports/devel/scons/files/patch-engine-SCons-compat-__init__.py (new)
  1.1       +33 -0     
ports/devel/scons/files/patch-engine-SCons-compat-_scons_subprocess.py (new)
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to