~bts_server_process_info()
 {
   server_process->kill();
   if (stdout_reader_done.valid() && !stdout_reader_done.ready())
     stdout_reader_done.wait();
   if (stderr_reader_done.valid() && !stderr_reader_done.ready())
     stderr_reader_done.wait();
 }
Example #2
0
 ~impl() {
   try {
     tcp_serv.close();
     if( accept_complete.valid() )
        accept_complete.wait();
   }catch(...){}
 }
Example #3
0
 ~client()
 {
      try {
          if( chain_connect_loop_complete.valid() )
          {
             try {
                _chain_con.close();
                chain_connect_loop_complete.cancel();
                chain_connect_loop_complete.wait();
             } 
             catch( fc::exception& e )
             {
               wlog( "unhandled exception thrown in destructor.\n${e}", ("e", e.to_detail_string() ) );
             }
          }
          _tcp_serv.close();
          if( _accept_loop_complete.valid() )
          {
             _accept_loop_complete.cancel();
             _accept_loop_complete.wait();
          }
      } 
      catch ( const fc::canceled_exception& ){}
      catch ( const fc::exception& e )
      {
         wlog( "unhandled exception thrown in destructor.\n${e}", ("e", e.to_detail_string() ) );
      }
 }