We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9f65218 commit 8e4739fCopy full SHA for 8e4739f
Arduino_Threads.h
@@ -3,18 +3,20 @@ class Shared // template definition
3
{
4
public:
5
Shared() {
6
- queue = new rtos::Queue<Shared<T>, 16>;
+ queue = new rtos::Queue<T, 16>;
7
}
8
operator T() const {
9
osEvent evt = queue->get();
10
if (evt.status == osEventMessage) {
11
- Shared<T> *x = (Shared<T>*)evt.value.p;
12
- return x->val;
+ T x = *((T*)evt.value.p);
+ delete (T*)evt.value.p;
13
+ return x;
14
15
16
T& operator= (const T& other) {
17
val = other;
- queue->put(this);
18
+ T* obj = new T(val);
19
+ queue->put(obj);
20
21
T& peek() {
22
return val;
@@ -24,7 +26,7 @@ class Shared // template definition
24
26
25
27
private:
28
T val;
- rtos::Queue<Shared<T>, 16> *queue;
29
+ rtos::Queue<T, 16>* queue;
30
};
31
32
#define CONCAT2(x,y) x##y
0 commit comments