MySQL 8.4.0
Source Code Documentation
mysql_harness::PluginThreads Class Reference

#include <loader.h>

Public Member Functions

void push_back (std::thread &&thr)
 
void try_stopped (std::exception_ptr &first_exc)
 
void push_exit_status (std::exception_ptr &&eptr)
 
size_t running () const
 
void wait_all_stopped (std::exception_ptr &first_exc)
 
void join ()
 join all threads. More...
 

Private Attributes

std::vector< std::thread > threads_
 
size_t running_ {0}
 
WaitingMPSCQueue< std::exception_ptr > plugin_stopped_events_
 queue of events after plugin's start() function exited. More...
 

Member Function Documentation

◆ join()

void mysql_harness::PluginThreads::join ( )

join all threads.

Exceptions
std::system_errorfrom std::thread::join()

◆ push_back()

void mysql_harness::PluginThreads::push_back ( std::thread &&  thr)

◆ push_exit_status()

void mysql_harness::PluginThreads::push_exit_status ( std::exception_ptr &&  eptr)
inline

◆ running()

size_t mysql_harness::PluginThreads::running ( ) const
inline

◆ try_stopped()

void mysql_harness::PluginThreads::try_stopped ( std::exception_ptr &  first_exc)

◆ wait_all_stopped()

void mysql_harness::PluginThreads::wait_all_stopped ( std::exception_ptr &  first_exc)

Member Data Documentation

◆ plugin_stopped_events_

WaitingMPSCQueue<std::exception_ptr> mysql_harness::PluginThreads::plugin_stopped_events_
private

queue of events after plugin's start() function exited.

nullptr if "finished without error", pointer to an exception otherwise

◆ running_

size_t mysql_harness::PluginThreads::running_ {0}
private

◆ threads_

std::vector<std::thread> mysql_harness::PluginThreads::threads_
private

The documentation for this class was generated from the following files: