Hi,

I'm having trouble with the io_service destructor never completing. The application I am working on uses one worker thread to handle all actual work to be done including communication on a socket in handler functions posted to the asio queue and another thread to handle the gui of the application.

[.....]
Does anyone have any idea of what may be going on? Any hints or tips are appreciated! Could we be using asio wrong in some way that could cause this, but we're just lucky most of the time? The customer may be running in a virtual machine, could this affect io completion ports in a way that could be problematic for asio?

 I experienced similar problems when I had badly written LSP (Layered Service Provider) installed.
Also I would recommend to send asio issues to separate asio list.

Best Regards,
  Sergei