[tahoe-lafs-trac-stream] [tahoe-lafs] #1274: eliminate pywin32 dependency

tahoe-lafs trac at tahoe-lafs.org
Fri Jan 21 17:20:39 UTC 2011


#1274: eliminate pywin32 dependency
------------------------------+---------------------------------------------
     Reporter:  davidsarah    |       Owner:  warner                                       
         Type:  defect        |      Status:  new                                          
     Priority:  major         |   Milestone:  1.8.2                                        
    Component:  code-storage  |     Version:  1.8.0                                        
   Resolution:                |    Keywords:  pywin32 windows win64 docs-needed news-needed
Launchpad Bug:                |  
------------------------------+---------------------------------------------

Comment (by warner):

 Replying to [comment:21 davidsarah]:

 > With this patch, we no longer use anything that calls
 > {{{reactor.spawnProcess}}} (either in test or non-test code). Does
 > that resolve the problem?
 >
 > {{{iputil.py}}} is the only place [in non-test code] where we
 > previously used {{{getProcessOutput}}} and now use
 > {{{subprocess.Popen}}}. Note that it is done in a {{{deferToThread}}}
 > (I'm not sure whether that helps, since the SIGCHLD handler is
 > process-global).

 I don't think that resolves the problem (although I need to stare at the
 code and test it to be sure). The issue was using {{{subprocess.Popen}}}
 in a twisted program, regardless of whether or not that same program is
 using any {{{reactor.spawnProcess}}} calls. {{{subprocess}}} is
 blocking, of course (when you use {{{p.wait}}} or I think
 {{{communicate}}}), so using it for {{{iputil.py}}} at startup is
 somewhat excusable but using it anywhere later would be bad.

 But it may be the case that we won't see any damage from this right now.
 When/if we start using spawned children at runtime (again, {{{du -s}}}
 is the best I can imagine right now), we may have to undo this, or live
 without that feature.

 I'll try to run some tests this week to see what happens.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1274#comment:23>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list