@@ -31,7 +31,6 @@ of struct _spblk, we are really using TQItem
3131
3232template <container C>
3333TQueue<C>::TQueue() {
34- MUTCONSTRUCT (0 )
3534 nshift_ = 0 ;
3635 sptree_ = new SPTREE;
3736 spinit (sptree_);
@@ -66,18 +65,14 @@ TQueue<C>::~TQueue() {
6665 delete pq_que_.top ().second ;
6766 pq_que_.pop ();
6867 }
69-
70- MUTDESTRUCT
7168}
7269
7370template <container C>
7471TQItem* TQueue<C>::enqueue_bin(double td, void * d) {
75- MUTLOCK
7672 TQItem* i = new TQItem;
7773 i->data_ = d;
7874 i->t_ = td;
7975 binq_->enqueue (td, i);
80- MUTUNLOCK
8176 return i;
8277}
8378
@@ -115,7 +110,6 @@ inline void TQueue<pq_que>::move_least_nolock(double tnew) {
115110// / Splay tree priority queue implementation
116111template <>
117112inline void TQueue<spltree>::move(TQItem* i, double tnew) {
118- MUTLOCK
119113 if (i == least_) {
120114 move_least_nolock (tnew);
121115 } else if (tnew < least_->t_ ) {
@@ -128,13 +122,11 @@ inline void TQueue<spltree>::move(TQItem* i, double tnew) {
128122 i->t_ = tnew;
129123 spenq (i, sptree_);
130124 }
131- MUTUNLOCK
132125}
133126
134127// / STL priority queue implementation
135128template <>
136129inline void TQueue<pq_que>::move(TQItem* i, double tnew) {
137- MUTLOCK
138130 if (i == least_) {
139131 move_least_nolock (tnew);
140132 } else if (tnew < least_->t_ ) {
@@ -153,13 +145,11 @@ inline void TQueue<pq_que>::move(TQItem* i, double tnew) {
153145 i->t_ = -1 .;
154146 pq_que_.push (make_TQPair (qmove));
155147 }
156- MUTUNLOCK
157148}
158149
159150// / Splay tree priority queue implementation
160151template <>
161152inline TQItem* TQueue<spltree>::insert(double tt, void * d) {
162- MUTLOCK
163153 TQItem* i = new TQItem;
164154 i->data_ = d;
165155 i->t_ = tt;
@@ -177,14 +167,12 @@ inline TQItem* TQueue<spltree>::insert(double tt, void* d) {
177167 } else {
178168 spenq (i, sptree_);
179169 }
180- MUTUNLOCK
181170 return i;
182171}
183172
184173// / STL priority queue implementation
185174template <>
186175inline TQItem* TQueue<pq_que>::insert(double tt, void * d) {
187- MUTLOCK
188176 TQItem* i = new TQItem;
189177 i->data_ = d;
190178 i->t_ = tt;
@@ -202,14 +190,12 @@ inline TQItem* TQueue<pq_que>::insert(double tt, void* d) {
202190 } else {
203191 pq_que_.push (make_TQPair (i));
204192 }
205- MUTUNLOCK
206193 return i;
207194}
208195
209196// / Splay tree priority queue implementation
210197template <>
211198inline void TQueue<spltree>::remove(TQItem* q) {
212- MUTLOCK
213199 if (q) {
214200 if (q == least_) {
215201 if (sptree_->root ) {
@@ -222,13 +208,11 @@ inline void TQueue<spltree>::remove(TQItem* q) {
222208 }
223209 delete q;
224210 }
225- MUTUNLOCK
226211}
227212
228213// / STL priority queue implementation
229214template <>
230215inline void TQueue<pq_que>::remove(TQItem* q) {
231- MUTLOCK
232216 if (q) {
233217 if (q == least_) {
234218 if (pq_que_.size ()) {
@@ -241,14 +225,12 @@ inline void TQueue<pq_que>::remove(TQItem* q) {
241225 q->t_ = -1 .;
242226 }
243227 }
244- MUTUNLOCK
245228}
246229
247230// / Splay tree priority queue implementation
248231template <>
249232inline TQItem* TQueue<spltree>::atomic_dq(double tt) {
250233 TQItem* q = nullptr ;
251- MUTLOCK
252234 if (least_ && least_->t_ <= tt) {
253235 q = least_;
254236 if (sptree_->root ) {
@@ -257,15 +239,13 @@ inline TQItem* TQueue<spltree>::atomic_dq(double tt) {
257239 least_ = nullptr ;
258240 }
259241 }
260- MUTUNLOCK
261242 return q;
262243}
263244
264245// / STL priority queue implementation
265246template <>
266247inline TQItem* TQueue<pq_que>::atomic_dq(double tt) {
267248 TQItem* q = nullptr ;
268- MUTLOCK
269249 if (least_ && least_->t_ <= tt) {
270250 q = least_;
271251 // int qsize = pq_que_.size();
@@ -284,7 +264,6 @@ inline TQItem* TQueue<pq_que>::atomic_dq(double tt) {
284264 least_ = nullptr ;
285265 }
286266 }
287- MUTUNLOCK
288267 return q;
289268}
290269} // namespace coreneuron
0 commit comments