Based on your advice I'm going to have to cause the creation of the server instance to be done somewhere other than during the service manager's call to start the service.
Maybe you can just move the all acceptor stuff to server::start(). That won't work; server::start() gets called on the service manager thread, too, immediately after the ctor. The solution is going to require moving the creation of the server instance to where it can be done on a persistent
"Igor R"