From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2005-09-04 07:51:13


Hi Roland,

--- Roland Schwarz <roland.schwarz_at_[hidden]> wrote:
> Is it true indeed, that demuxer s must not be at global scope?

It's only that nobody has thought to try it before :)

The problem arises because WSACleanup is called while the background
select thread is still running. Applying the following change to
include/asio/basic_demuxer.hpp should fix the problem:

@@ -229,6 +229,10 @@
   }

 private:
+#if defined(_WIN32)
+ detail::winsock_init<> winsock_init_;
+#endif
+
   /// The service registry.
   detail::service_registry<basic_demuxer<Demuxer_Service> >
service_registry_;

Cheers,
Chris