| 230 | } |
| 231 | |
| 232 | void clear() { |
| 233 | acquireLock(&lock); |
| 234 | |
| 235 | ListNode<T>* node = front; |
| 236 | while (node && node->next) { |
| 237 | ListNode<T>* n = node->next; |
| 238 | kfree(node); |
| 239 | node = n; |
| 240 | } |
| 241 | front = NULL; |
| 242 | back = NULL; |
| 243 | num = 0; |
| 244 | |
| 245 | releaseLock(&lock); |
| 246 | } |
| 247 | |
| 248 | void add_back(const T& obj) { |
| 249 | acquireLock(&lock); |
no test coverage detected