title: Interrupt boost::asio synchronous read?
body: <p>I'm using asio synchronous sockets to read data over TCP from a background thread. This is encapsulated in a "server" class.</p>
  
  <p>However, I want the thread to exit when the destructor of this class is called.
  The problem is that a call to any of the read functions does block, so the thread cannot be easily terminated. In Win32 there is an API for that: <code>WaitForMultipleObjects</code> which would do exactly what I want.</p>
  
  <p>How would I achieve a similar effect with boost?</p>