title: Python: concurrent.futures: cancel not possible
body: <p>This little snippets prints <code>False</code></p>
  
  <pre><code>import subprocess
  from concurrent import futures
  with futures.ThreadPoolExecutor(max_workers=1) as executor:
      future=executor.submit(subprocess.call, ['sleep', '2'])
      print(future.cancel())
  </code></pre>
  
  <p>According to the docs this means "future can't be canceled": <a href="https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future.cancel">https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future.cancel</a></p>
  
  <blockquote>
    <p><strong>cancel()</strong>: Attempt to cancel the call. If the call is currently being executed and cannot be cancelled then the method will return False, otherwise the call will be cancelled and the method will return True.</p>
  </blockquote>
  
  <p>Is there a way to cancel the future although the <code>cancel()</code> methods tells me it can't be canceled?</p>
  
  <p>I am running the backport on Python 2.7</p>