mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 16:31:11 +02:00
CComponentsTimer: allow to set a thread name
This commit is contained in:
committed by
svenhoefer
parent
58c6dbf469
commit
6fdd920e42
@@ -33,11 +33,13 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <system/helpers.h>
|
#include <system/helpers.h>
|
||||||
#include <system/debug.h>
|
#include <system/debug.h>
|
||||||
|
#include <system/set_threadname.h>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
CComponentsTimer::CComponentsTimer(const int& interval, bool is_nano)
|
CComponentsTimer::CComponentsTimer(const int& interval, bool is_nano)
|
||||||
{
|
{
|
||||||
|
name = "unnamed";
|
||||||
tm_thread = 0;
|
tm_thread = 0;
|
||||||
tm_interval = interval;
|
tm_interval = interval;
|
||||||
tm_enable_nano = is_nano;
|
tm_enable_nano = is_nano;
|
||||||
@@ -56,7 +58,8 @@ CComponentsTimer::~CComponentsTimer()
|
|||||||
void CComponentsTimer::runSharedTimerAction()
|
void CComponentsTimer::runSharedTimerAction()
|
||||||
{
|
{
|
||||||
//start loop
|
//start loop
|
||||||
|
string tn = "cc:"+name;
|
||||||
|
set_threadname(tn.c_str());
|
||||||
while(tm_enable && tm_interval > 0) {
|
while(tm_enable && tm_interval > 0) {
|
||||||
tm_mutex.lock();
|
tm_mutex.lock();
|
||||||
OnTimer();
|
OnTimer();
|
||||||
|
@@ -63,6 +63,9 @@ class CComponentsTimer : public sigc::trackable
|
|||||||
///flag to control thread state
|
///flag to control thread state
|
||||||
bool tm_enable;
|
bool tm_enable;
|
||||||
|
|
||||||
|
///name for the thread
|
||||||
|
std::string name;
|
||||||
|
|
||||||
///mutex for timer
|
///mutex for timer
|
||||||
OpenThreads::Mutex tm_mutex;
|
OpenThreads::Mutex tm_mutex;
|
||||||
///slot for restart signals
|
///slot for restart signals
|
||||||
@@ -120,6 +123,13 @@ class CComponentsTimer : public sigc::trackable
|
|||||||
*/
|
*/
|
||||||
void setTimerInterval(const int& interval, bool is_nano = false);
|
void setTimerInterval(const int& interval, bool is_nano = false);
|
||||||
|
|
||||||
|
/**set thread name
|
||||||
|
* @param[in] thread name
|
||||||
|
* @return
|
||||||
|
* void
|
||||||
|
*/
|
||||||
|
void setThreadName(const std::string& n) { name = n; };
|
||||||
|
|
||||||
/**Provides a signal handler to receive any function or methode.
|
/**Provides a signal handler to receive any function or methode.
|
||||||
* Use this in your class where ever you need time controled actions.
|
* Use this in your class where ever you need time controled actions.
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user