Boost logo

Boost Users :

Subject: Re: [Boost-users] async_send handler problem
From: Alexander Carôt (Alexander_Carot_at_[hidden])
Date: 2013-12-16 14:24:44


>>>void sender::sendIt(char *charBuffer){
>>[...]
>>> sj->dFC->io_service.run();
>>
>>You should not call io_service::run() inside this function. The normal
>>pattern is to set up your network code, e.g. from main(), and then call
>>run() after setup. This call will block (and all Asio callbacks will be
>>executed from this thread.) If you do not want your main thread to
>>handle the network code, then you can launch in a separate thread (as
>>previously suggested.)

Yes, I truly understand this but for some weired reason this doesn't work
at all. In my case I launch the run function in the constructor of the
main class right after the sender class had been instantiated:

SJ::SJ(){

  /// SENDER INIT
  dFC->mySender = new sender(this);
        

  boost::thread t =
boost::thread(boost::bind(&boost::asio::io_service::run,
&dFC->io_service));
  t.join();

  // OR dFC->io_service.run();
}

In there anything wrong with this ?

Thanks

Alex


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net