title: Python: threading: shouldn't a daemonized process return stdin/stdout to the main thread?
body: <p>I have what I thought was a straightforward thread setup: spawn a daemonized subthread, then wait for keyboard input to stop:</p>
  
  <pre><code>    MASTER = threading.Thread(target=QueueMonitor())
      MASTER.setDaemon(True)
      MASTER.start()
  
      while True:
          ZZ = raw_input("running...\ntype 'ZZ' to quit \n\n")
          if 'ZZ' in ZZ:
              print "1. cleaning up... (this can take some time)"
              KILLALL = 1
              sys.exit()
  </code></pre>
  
  <p>the subthread loops and prints output every 'x' seconds while waiting for the keyboard input to kill everything.
  the code never returns to the 'ZZ' input but seems to stick on the subthread:</p>
  
  <pre><code>thread:  1
  thread:  2
  thread:  3
  thread:  4
  thread:  5
  thread:  6
  thread:  7
  thread:  ...
  </code></pre>
  
  <p>what am I doing wrong?</p>