This is an automated email from the ASF dual-hosted git repository.
janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
The following commit(s) were added to refs/heads/master by this push:
new caecb2c62 porting/nuttx: Remove not used wqueue.h
caecb2c62 is described below
commit caecb2c6283cc612551ef6a980ff1b5b9e51beb6
Author: Szymon Janc <[email protected]>
AuthorDate: Tue Sep 17 16:32:30 2024 +0200
porting/nuttx: Remove not used wqueue.h
This looks like copy-and-paste from Linux port.
---
porting/npl/nuttx/src/wqueue.h | 104 -----------------------------------------
1 file changed, 104 deletions(-)
diff --git a/porting/npl/nuttx/src/wqueue.h b/porting/npl/nuttx/src/wqueue.h
deleted file mode 100644
index 7821eacda..000000000
--- a/porting/npl/nuttx/src/wqueue.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- wqueue.h
- Worker thread queue based on the Standard C++ library list
- template class.
- ------------------------------------------
- Copyright (c) 2013 Vic Hargrave
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-//
https://vichargrave.github.io/articles/2013-01/multithreaded-work-queue-in-cpp
-// https://github.com/vichargrave/wqueue/blob/master/wqueue.h
-
-
-#ifndef __wqueue_h__
-#define __wqueue_h__
-
-#include <nuttx/config.h>
-#include <pthread.h>
-#include <queue.h>
-
-struct wqueue_s
-{
- dq_queue_s m_queue;
- pthread_mutex_t m_mutex;
- pthread_mutexattr_t m_mutex_attr;
- pthread_cond_t m_condv;
-};
-
-using namespace std;
-
-template <typename T> class wqueue
-{
- dq_queue_s m_queue;
- pthread_mutex_t m_mutex;
- pthread_mutexattr_t m_mutex_attr;
- pthread_cond_t m_condv;
-
-public:
- wqueue()
- {
- dq_init(m_queue);
- pthread_mutexattr_init(&m_mutex_attr);
- pthread_mutexattr_settype(&m_mutex_attr, PTHREAD_MUTEX_RECURSIVE);
- pthread_mutex_init(&m_mutex, &m_mutex_attr);
- pthread_cond_init(&m_condv, NULL);
- }
-
- ~wqueue() {
- pthread_mutex_destroy(&m_mutex);
- pthread_cond_destroy(&m_condv);
- }
-
- void put(T item) {
- dq_entry_t* entry = malloc(sizeof(T));
-
- pthread_mutex_lock(&m_mutex);
- dq_addlast(entry, &m_queue);
- m_queue.push_back(item);
- pthread_cond_signal(&m_condv);
- pthread_mutex_unlock(&m_mutex);
- }
-
- T get(uint32_t tmo) {
- pthread_mutex_lock(&m_mutex);
- if (tmo) {
- while (m_queue.size() == 0) {
- pthread_cond_wait(&m_condv, &m_mutex);
- }
- }
-
- T item = NULL;
-
- if (m_queue.size() != 0) {
- item = m_queue.front();
- m_queue.pop_front();
- }
-
- pthread_mutex_unlock(&m_mutex);
- return item;
- }
-
- void remove(T item) {
- pthread_mutex_lock(&m_mutex);
- m_queue.remove(item);
- pthread_mutex_unlock(&m_mutex);
- }
-
- int size() {
- pthread_mutex_lock(&m_mutex);
- int size = m_queue.size();
- pthread_mutex_unlock(&m_mutex);
- return size;
- }
-};
-
-#endif