title: Execution context without daemon threads for futures
body: <p>I am having trouble with the JVM immediately exiting using various new applications I wrote which spawn threads through the Scala 2.10 Futures + Promises framework.</p>
  
  <p>It seems that at least with the default execution context, even if I'm using blocking, e.g.</p>
  
  <pre><code>future { blocking { /* work */ }}
  </code></pre>
  
  <p>no non-daemon thread is launched, and therefore the JVM thinks it can immediately quit.</p>
  
  <p>A stupid work around is to launch a dummy <code>Thread</code> instance which is just waiting, but then I also need to make sure that this thread stops when the processes are done.</p>
  
  <p>So how to I enforce them to run on non-daemon threads?</p>