title: Sharing a boost::asio::io_service object between dynamically loaded libraries
body: <p>First what I did (minimum sample will be provided if it's not just me doing something plain stupid):</p>
  
  <p>I have a GUI application that shall support several network interfaces to change content that's displayed in the GUI. The network interfaces are realized as plugins that are dynamically loaded on GUI startup. The GUI application provides a boost::asio::io_service object that it passes via reference to the interfaces so they can use that to build the asynchronous I/O. In the GUI thread this io_service object is than polled to synchronise the network interfaces' access to the content.</p>
  
  <p>The problem now is that the handlers don't get called by the io_service object when it is polled. To narrow this down I implemented only one interface and created the io_service object therein, still calling the poll from the GUI thread and that works.</p>
  
  <p>My question now is: is it possible that there is a general problem with passing the io_service object into DLL functions loaded at runtime?</p>
  
  <p>If the scenario is too unclear, I'll provide a minimum example.</p>
  
  <p>EDIT: I feel really stupid :) Just hacked together a minimum example and that - of course - works like a charm. That pretty much means the problem origins from some other part of the software.</p>
  
  <p>So thanks everyone for their input!</p>
  
  <p>To make this question at least a little bit useful:
  Anyone who wants to do something similar (plugins for network synchronized via boost::asio::io_service), you can download the minimum example <a href="http://jumpers-inn.de/Downloads/AsioDLLSample.zip" rel="nofollow">here</a>.</p>