Skip to content
Snippets Groups Projects
Commit 4a7a46e8 authored by Jonathan Hanks's avatar Jonathan Hanks
Browse files

Added a simple error counter to the nds1 connection test.

parent 01eac114
No related branches found
No related tags found
1 merge request!27Consumer limits
......@@ -33,9 +33,11 @@ void
thread_loop( int index,
const std::string& channel_name,
std::atomic< bool >* done_flag,
std::atomic< int >* success_counter )
std::atomic< int >* success_counter,
std::atomic< int >* error_counter )
{
bool first = true;
bool quiting = false;
NDS::request_period period;
NDS::connection::channel_names_type channels;
channels.push_back( channel_name );
......@@ -51,12 +53,17 @@ thread_loop( int index,
}
if ( done_flag->load( ) )
{
quiting = true;
break;
}
}
}
catch ( ... )
{
if ( !quiting )
{
( *error_counter )++;
}
}
}
......@@ -67,6 +74,7 @@ main( int argc, char* argv[] )
std::atomic< bool > done{ false };
std::atomic< int > success{ 0 };
std::atomic< int > error{ 0 };
const int THREADS = 80;
std::vector< std::string > selected_chans;
......@@ -80,12 +88,15 @@ main( int argc, char* argv[] )
for ( int i = 0; i < THREADS; ++i )
{
thread_objs.emplace_back(
thread_loop, i, selected_chans[ i ], &done, &success );
thread_loop, i, selected_chans[ i ], &done, &success, &error );
}
std::this_thread::sleep_for( std::chrono::seconds( 10 ) );
done = true;
std::for_each( thread_objs.begin( ), thread_objs.end( ), join_thread );
std::cout << std::endl;
std::cout << "We had " << success.load( ) << " successful threads."
<< std::endl;
std::cout << "We had " << error.load( )
<< " unexpected errors in the threads." << std::endl;
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment