Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Jean-Francois Dockes
recoll
Commits
fd62105a
Commit
fd62105a
authored
Jun 26, 2015
by
Jean-Francois Dockes
Browse files
replaced unused map with list
parent
24c05cdf
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/utils/workqueue.h
View file @
fd62105a
...
...
@@ -22,21 +22,11 @@
#include <string>
#include <queue>
#include "unordered_defs.h"
using
std
::
queue
;
using
std
::
string
;
#include <list>
#include "debuglog.h"
#include "ptmutex.h"
/// Store per-worker-thread data. Just an initialized timespec, and
/// used at the moment.
class
WQTData
{
public:
WQTData
()
{
wstart
.
tv_sec
=
0
;
wstart
.
tv_nsec
=
0
;}
struct
timespec
wstart
;
};
/**
* A WorkQueue manages the synchronisation around a queue of work items,
* where a number of client threads queue tasks and a number of worker
...
...
@@ -94,7 +84,7 @@ public:
m_name
.
c_str
(),
err
));
return
false
;
}
m_worker_threads
.
insert
(
pair
<
pthread_t
,
WQTData
>
(
thr
,
WQTData
())
);
m_worker_threads
.
push_back
(
thr
);
}
return
true
;
}
...
...
@@ -213,11 +203,11 @@ public:
// Perform the thread joins and compute overall status
// Workers return (void*)1 if ok
void
*
statusall
=
(
void
*
)
1
;
STD_UNORDERED_MAP
<
pthread_t
,
WQTData
>::
iterator
it
;
std
::
list
<
pthread_t
>::
iterator
it
;
while
(
!
m_worker_threads
.
empty
())
{
void
*
status
;
it
=
m_worker_threads
.
begin
();
pthread_join
(
i
t
->
firs
t
,
&
status
);
pthread_join
(
*
it
,
&
status
);
if
(
status
==
(
void
*
)
0
)
statusall
=
status
;
m_worker_threads
.
erase
(
it
);
...
...
@@ -330,7 +320,7 @@ private:
// Per-thread data. The data is not used currently, this could be
// a set<pthread_t>
STD_UNORDERED_MAP
<
pthread_t
,
WQTData
>
m_worker_threads
;
std
::
list
<
pthread_t
>
m_worker_threads
;
// Synchronization
queue
<
T
>
m_queue
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment