Main Page
Namespaces
Classes
Files
Examples
File List
File Members
src
Threads_unix.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of ALVAR, A Library for Virtual and Augmented Reality.
3
*
4
* Copyright 2007-2012 VTT Technical Research Centre of Finland
5
*
6
* Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
7
* <http://www.vtt.fi/multimedia/alvar.html>
8
*
9
* ALVAR is free software; you can redistribute it and/or modify it under the
10
* terms of the GNU Lesser General Public License as published by the Free
11
* Software Foundation; either version 2.1 of the License, or (at your option)
12
* any later version.
13
*
14
* This library is distributed in the hope that it will be useful, but WITHOUT
15
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
17
* for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public License
20
* along with ALVAR; if not, see
21
* <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
22
*/
23
24
#include "
ar_track_alvar/Threads_private.h
"
25
26
#include <vector>
27
#include <pthread.h>
28
29
namespace
alvar
{
30
31
class
ThreadsPrivateData
32
{
33
public
:
34
ThreadsPrivateData
()
35
:
mHandles
()
36
{
37
}
38
39
std::vector<pthread_t>
mHandles
;
40
};
41
42
ThreadsPrivate::ThreadsPrivate
()
43
:
d
(new
ThreadsPrivateData
())
44
{
45
}
46
47
ThreadsPrivate::~ThreadsPrivate
()
48
{
49
for
(
int
i = 0; i < (int)
d
->
mHandles
.size(); ++i) {
50
pthread_exit(&
d
->
mHandles
.at(i));
51
}
52
d
->
mHandles
.clear();
53
54
delete
d
;
55
}
56
57
bool
ThreadsPrivate::create
(
void
*(*method)(
void
*),
void
*parameters)
58
{
59
pthread_t thread;
60
if
(pthread_create(&thread, 0, method, parameters)) {
61
d
->
mHandles
.push_back(thread);
62
return
true
;
63
}
64
return
false
;
65
}
66
67
}
// namespace alvar
alvar
Main ALVAR namespace.
Definition:
Alvar.h:174
alvar::ThreadsPrivate::ThreadsPrivate
ThreadsPrivate()
Definition:
Threads_unix.cpp:42
alvar::ThreadsPrivate::create
bool create(void *(*method)(void *), void *parameters)
Definition:
Threads_unix.cpp:57
alvar::ThreadsPrivateData::ThreadsPrivateData
ThreadsPrivateData()
Definition:
Threads_unix.cpp:34
Threads_private.h
alvar::ThreadsPrivate::d
ThreadsPrivateData * d
Definition:
Threads_private.h:38
d
Drawable d[32]
Definition:
SampleMarkerDetector.cpp:11
alvar::ThreadsPrivateData::mHandles
std::vector< pthread_t > mHandles
Definition:
Threads_unix.cpp:39
alvar::ThreadsPrivate::~ThreadsPrivate
~ThreadsPrivate()
Definition:
Threads_unix.cpp:47
alvar::ThreadsPrivateData
Definition:
Threads_unix.cpp:31
ar_track_alvar
Author(s): Scott Niekum
autogenerated on Mon Jun 10 2019 12:47:04