| 63 | } |
| 64 | } |
| 65 | void timer_disable(pc_timer_t *timer) |
| 66 | { |
| 67 | // pclog("timer->disable %p\n", timer); |
| 68 | if (!timer->enabled) |
| 69 | return; |
| 70 | |
| 71 | if (!timer->next && !timer->prev && timer != timer_head) |
| 72 | fatal("timer_disable - !timer->next\n"); |
| 73 | |
| 74 | timer->enabled = 0; |
| 75 | |
| 76 | if (timer->prev) |
| 77 | timer->prev->next = timer->next; |
| 78 | else |
| 79 | timer_head = timer->next; |
| 80 | if (timer->next) |
| 81 | timer->next->prev = timer->prev; |
| 82 | timer->prev = timer->next = NULL; |
| 83 | } |
| 84 | static void timer_remove_head() |
| 85 | { |
| 86 | if (timer_head) |
no test coverage detected