title: Multiprocessing Manager seems to be blocking environment variable changes
body: <p>I use behave for running our gherkin based test suite, with a custom runner that handles running behave in parallel.</p>
  
  <p>This functions perfectly on my local (Windows 8.1) machine, and allows me to change environment variables within my subprocesses, using os.environ.update</p>
  
  <p>This fails on our Ubuntu 14.04 server and is not able to change the environment variables, which coincide with database names for each test to run under. Some stripped out code for what I am doing follows:</p>
  
  <pre><code>def create_database(name):
      #create a postgres database, this works.    
      return "our_test_database_%s" % name
  
  def drop_database(name):
      #drop a postgres database, also works
      return name
  
  def get_features():
      return [feature for feature in os.listdir(features) if feature.endswith(".feature")
  
  def main():
      manager = multiprocessing.Manager()
      databases = manager.Queue()
      cpu_count = multiprocessing.cpu_count()
  
      for i in range(cpu_count):
          databases.put(create_database(str(i)))
  
      pool = multiprocessing.Pool(processes=cpu_count, maxtaskperchild=1)
      results = pool.map(run_test, (feature, databases for feature in features), chunksize=1)
  
      while database = databases.get_nowait():
          drop_database(database)
  
  def run_test(feature, databases):
      database = databases.get(block=True)
      os.environ.update({
          'DATABASE_URL': database
      })
  
      config = behave.configuration.Configuration(("--no-logcapture", "--tags=~@skip", "-f", "plain", feature))
      runner = behave.runner.Runner(config)
      failed = runner.run()
  
      databases.put(database)
  </code></pre>
  
  <p>Inside behave, we use the database in testing our Flask application. Flask is unable to find the set environment variable when running. </p>
  
  <p>EDIT: I dont know what changed, we are using the same version of Python on the server and my machine, and the same version of all known used packages. Environment variables are not being updated properly, and are therefore not accessible in later code.</p>