On Wed, Jun 3, 2009 at 3:21 PM, Daniele Barzotti <daniele.barzotti@eurocomtel.com> wrote:


void io_worker_thread(void)
{
#if (WIN32)
 CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
#endif

 io_service.run();

#if (WIN32)
 CoUninitialize();
#endif
};

It is better to use at least RAII here. This approach is not exception safe and if io_service.run() throws an exception CoUnintialize() will not be called.