Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
icl_core
src
icl_core_logging
icl_core_logging/ThreadImplPosix.cpp
Go to the documentation of this file.
1
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2
3
// -- BEGIN LICENSE BLOCK ----------------------------------------------
4
// This file is part of FZIs ic_workspace.
5
//
6
// This program is free software licensed under the LGPL
7
// (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
8
// You can find a copy of this license in LICENSE folder in the top
9
// directory of the source code.
10
//
11
// © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12
//
13
// -- END LICENSE BLOCK ------------------------------------------------
14
15
//----------------------------------------------------------------------
22
//----------------------------------------------------------------------
23
#include "
ThreadImplPosix.h
"
24
25
#include "
Thread.h
"
26
27
namespace
icl_core
{
28
namespace
logging {
29
30
ThreadImplPosix::ThreadImplPosix
(
Thread
*thread,
icl_core::ThreadPriority
priority)
31
: m_thread_id(0),
32
m_thread(thread),
33
m_priority(priority)
34
{ }
35
36
ThreadImplPosix::~ThreadImplPosix
()
37
{ }
38
39
void
ThreadImplPosix::join
()
40
{
41
pthread_join(
m_thread_id
, NULL);
42
}
43
44
bool
ThreadImplPosix::start
()
45
{
46
if
(pthread_create(&
m_thread_id
, NULL,
ThreadImplPosix::runThread
,
this
))
47
{
48
m_thread_id
= 0;
49
}
50
51
return
m_thread_id
!= 0;
52
}
53
54
void
*
ThreadImplPosix::runThread
(
void
*arg)
55
{
56
ThreadImplPosix
*
self
=
static_cast<
ThreadImplPosix
*
>
(arg);
57
self
->
m_thread
->
runThread
();
58
59
return
NULL;
60
}
61
62
}
63
}
icl_core::logging::ThreadImplPosix::m_thread_id
pthread_t m_thread_id
Definition:
icl_core_logging/ThreadImplPosix.h:53
icl_core::logging::ThreadImplPosix::join
virtual void join()
Definition:
icl_core_logging/ThreadImplPosix.cpp:39
icl_core::logging::Thread
Definition:
icl_core_logging/Thread.h:46
icl_core::logging::ThreadImplPosix::start
virtual bool start()
Definition:
icl_core_logging/ThreadImplPosix.cpp:44
Thread.h
Contains icl_core::logging::Thread.
icl_core::logging::Thread::runThread
virtual void runThread()
Definition:
icl_core_logging/Thread.cpp:130
icl_core::logging::ThreadImplPosix::ThreadImplPosix
ThreadImplPosix(Thread *thread, icl_core::ThreadPriority priority)
Definition:
icl_core_logging/ThreadImplPosix.cpp:30
icl_core::logging::ThreadImplPosix
Definition:
icl_core_logging/ThreadImplPosix.h:41
ThreadImplPosix.h
Contains icl_core::logging::ThreadImplPosix.
icl_core::logging::ThreadImplPosix::runThread
static void * runThread(void *arg)
Definition:
icl_core_logging/ThreadImplPosix.cpp:54
icl_core::ThreadPriority
int32_t ThreadPriority
Definition:
os_thread.h:50
icl_core
Definition:
Array2D.h:30
icl_core::logging::ThreadImplPosix::~ThreadImplPosix
virtual ~ThreadImplPosix()
Definition:
icl_core_logging/ThreadImplPosix.cpp:36
icl_core::logging::ThreadImplPosix::m_thread
Thread * m_thread
Definition:
icl_core_logging/ThreadImplPosix.h:54
fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58