| 1087 | _incoming.post(); |
| 1088 | } |
| 1089 | T dequeue_nowait() { |
| 1090 | _lock.lock(); |
| 1091 | VRef<Node> node = pop(); |
| 1092 | T result; |
| 1093 | result = node->data; |
| 1094 | node.free(); |
| 1095 | _lock.unlock(); |
| 1096 | if (_bounded) |
| 1097 | _outgoing.post(); |
| 1098 | return result; |
| 1099 | } |
| 1100 | |
| 1101 | public: |
| 1102 | Queue(size_t bound = 0) : |