SST/macro
Public Member Functions | Protected Types | Protected Attributes | List of all members
sstmac::sw::pthread_runner Class Reference

#include <sstmac_pthread_runner.h>

Inheritance diagram for sstmac::sw::pthread_runner:
Inheritance graph
Collaboration diagram for sstmac::sw::pthread_runner:
Collaboration graph

Public Member Functions

virtual void run ()
 Derived types need to override this method. More...
 
virtual void clear_subthread_from_parent_app ()
 
 pthread_runner (software_id id, app *parent, start_fxn start_routine, void *arg)
 
- Public Member Functions inherited from sstmac::sw::thread
virtual std::string to_string () const
 
void set_api (thread *thr)
 
template<class T >
T * get_api ()
 
virtual appparent_app () const
 
virtual ~thread ()
 
state get_state () const
 Get current thread state. More...
 
virtual void init_perf_model_params (sprockit::sim_parameters *params)
 
app_id aid () const
 
task_id tid () const
 
void set_sid (software_id sid)
 
void spawn (thread *thr)
 
long init_id ()
 
long thread_id () const
 
void cancel ()
 This thread is not currently active - blocked on something However, some kill event happened and I never want to see this thread again. More...
 
bool is_canceled () const
 
virtual void kill ()
 
operating_systemos () const
 
app_launchenv () const
 
void * stack () const
 
size_t stacksize () const
 
void ** backtrace () const
 
int last_backtrace_nfxn () const
 
int backtrace_nfxn () const
 
void append_backtrace (void *fxn)
 
void pop_backtrace ()
 
void set_backtrace (void **bt)
 
void collect_backtrace (int nfxn)
 
void init_thread (int phyiscal_thread_id, threading_interface *tocopy, void *stack, int stacksize, operating_system *os, threading_interface *yield_to)
 
void start_thread (thread *thr)
 A convenience request to start a new thread. More...
 
void join ()
 
process_context get_process_context () const
 
keyschedule_key ()
 key used More...
 
bool is_initialized () const
 Test whether the current task has been initialized (activated) by a scheduler. More...
 
void register_lib (library *lib)
 
void set_affinity (int core)
 
void add_affinity (int core)
 
void zero_affinity ()
 
template<class T >
T & register_perf_ctr_variable (void *ptr)
 
void remove_perf_ctr_variable (void *ptr)
 
perf_counter_modelperf_ctr_model () const
 
void set_cpumask (uint64_t cpumask)
 
uint64_t cpumask () const
 
int active_core () const
 
void set_active_core (int core)
 
void set_pthread_map (pthread_map_t *threadmap)
 
void * get_tls_value (long thekey) const
 
void set_tls_value (long thekey, void *ptr)
 
timestamp now ()
 

Protected Types

typedef void *(* start_fxn) (void *)
 

Protected Attributes

start_fxn start_routine_
 
void * arg_
 
- Protected Attributes inherited from sstmac::sw::thread
spkt_unordered_map< std::string, api * > apis_
 
state state_
 Monitor state for deadlock detection. More...
 
operating_systemos_
 Each thread can only run under one OS/scheduler. More...
 
std::queue< key * > joiners_
 
appparent_app_
 
process_context p_txt_
 

Additional Inherited Members

- Public Types inherited from sstmac::sw::thread
enum  state {
  PENDING =0, INITIALIZED =1, ACTIVE =2, SUSPENDED =3,
  BLOCKED =4, CANCELED =5, DONE =6
}
 Help resolve deadlock situations. More...
 
typedef spkt_unordered_map< long, thread * > pthread_map_t
 
- Static Public Member Functions inherited from sstmac::sw::thread
static threadcurrent ()
 
- Static Public Attributes inherited from sstmac::sw::thread
static const int no_core_affinity = -1
 
static const int no_socket_affinity = -1
 
static const int main_thread = -1
 
static const int nic_thread = -2
 
static const int rdma_thread = -3
 
static const app_id main_thread_aid
 
static const task_id main_thread_tid
 
- Protected Member Functions inherited from sstmac::sw::thread
 thread ()
 
virtual api_get_api (const char *name)
 
void unregister_all_libs ()
 

Detailed Description

Definition at line 20 of file sstmac_pthread_runner.h.

Member Typedef Documentation

typedef void*(* sstmac::sw::pthread_runner::start_fxn) (void *)
protected

Definition at line 24 of file sstmac_pthread_runner.h.

Constructor & Destructor Documentation

sstmac::sw::pthread_runner::pthread_runner ( software_id  id,
app parent,
start_fxn  start_routine,
void *  arg 
)

Member Function Documentation

virtual void sstmac::sw::pthread_runner::clear_subthread_from_parent_app ( )
virtual

Reimplemented from sstmac::sw::thread.

virtual void sstmac::sw::pthread_runner::run ( )
virtual

Derived types need to override this method.

Implements sstmac::sw::thread.

Member Data Documentation

void* sstmac::sw::pthread_runner::arg_
protected

Definition at line 26 of file sstmac_pthread_runner.h.

start_fxn sstmac::sw::pthread_runner::start_routine_
protected

Definition at line 25 of file sstmac_pthread_runner.h.


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