A class that can be polled to see whether the process has been asked to quit gracefully. More...
#include <yarp/os/Terminator.h>
Public Member Functions | |
Terminee (const char *name) | |
Constructor. More... | |
virtual | ~Terminee () |
Destructor. More... | |
void | run () override |
Main body of the new thread. More... | |
bool | waitQuit () const |
Call this method to wait for a quit message. More... | |
bool | mustQuit () const |
Call this method to see whether a quit message has been received. More... | |
bool | isOk () const |
Check whether the message mechanism is ok. More... | |
void | onStop () override |
Call-back, called while halting the thread (before join). More... | |
Public Member Functions inherited from yarp::os::Thread | |
Thread () | |
Constructor. More... | |
virtual | ~Thread () |
Destructor. More... | |
bool | start () |
Start the new thread running. More... | |
bool | stop () |
Stop the thread. More... | |
virtual void | beforeStart () |
Called just before a new thread starts. More... | |
virtual void | afterStart (bool success) |
Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start(). More... | |
virtual bool | threadInit () |
Initialization method. More... | |
virtual void | threadRelease () |
Release method. More... | |
bool | isStopping () |
Returns true if the thread is stopping (Thread::stop has been called). More... | |
bool | isRunning () |
Returns true if the thread is running (Thread::start has been called successfully and the thread has not stopped). More... | |
long int | getKey () |
Get a unique identifier for the thread. More... | |
int | setPriority (int priority, int policy=-1) |
Set the priority and scheduling policy of the thread, if the OS supports that. More... | |
int | getPriority () |
Query the current priority of the thread, if the OS supports that. More... | |
int | getPolicy () |
Query the current scheduling policy of the thread, if the OS supports that. More... | |
bool | join (double seconds=-1) |
The function returns when the thread execution has completed. More... | |
void | setOptions (int stackSize=0) |
Set the stack size for the new thread. More... | |
Protected Attributes | |
void * | implementation |
volatile bool | quit |
volatile bool | ok |
Additional Inherited Members | |
Static Public Member Functions inherited from yarp::os::Thread | |
static int | getCount () |
Check how many threads are running. More... | |
static long int | getKeyOfCaller () |
Get a unique identifier for the calling thread. More... | |
static void | yield () |
Reschedule the execution of current thread, allowing other threads to run. More... | |
static void | setDefaultStackSize (int stackSize) |
Set the default stack size for all threads created after this point. More... | |
A class that can be polled to see whether the process has been asked to quit gracefully.
Definition at line 50 of file Terminator.h.
Terminee::Terminee | ( | const char * | name | ) |
Constructor.
name | is the nickname to register on the name server. |
Definition at line 70 of file Terminator.cpp.
|
virtual |
Destructor.
Definition at line 107 of file Terminator.cpp.
bool Terminee::isOk | ( | ) | const |
Check whether the message mechanism is ok.
Definition at line 154 of file Terminator.cpp.
bool Terminee::mustQuit | ( | ) | const |
Call this method to see whether a quit message has been received.
Definition at line 148 of file Terminator.cpp.
|
overridevirtual |
Call-back, called while halting the thread (before join).
This callback is executed by the same thread that calls stop(). It should not be called directly. Override this method to do the right thing for your particular Thread::run.
Reimplemented from yarp::os::Thread.
Definition at line 100 of file Terminator.cpp.
|
overridevirtual |
Main body of the new thread.
Override this method to do what you want. After Thread::start is called, this method will start running in a separate thread. It is important that this method either keeps checking Thread::isStopping to see if it should stop, or you override the Thread::onStop method to interact with it in some way to shut the new thread down. There is no really reliable, portable way to stop a thread cleanly unless that thread cooperates.
Implements yarp::os::Thread.
Definition at line 122 of file Terminator.cpp.
bool Terminee::waitQuit | ( | ) | const |
Call this method to wait for a quit message.
Definition at line 142 of file Terminator.cpp.
|
protected |
Definition at line 53 of file Terminator.h.
|
protected |
Definition at line 55 of file Terminator.h.
|
protected |
Definition at line 54 of file Terminator.h.