title: How does a modal dialog's message-pump interact with the main application message-pump?
body: <p>My understanding is any modal dialog automatically has its own message-pump, running on a thread dedicated to that dialog - is that right?</p>
  
  <p>If so, how does a modal dialog's existence affect the main application's message loop? Do both run in parallel, does one take priority?</p>
  
  <p>I have a situation where a modal dialog seems to get stuck for several seconds waiting for something, and wondered if it's possible the dialog is forced to wait until the main application thread is not busy?</p>