| 524 | |
| 525 | |
| 526 | void unlink_timer_lists(void) |
| 527 | { |
| 528 | struct timer_link *tl, *end, *tmp; |
| 529 | enum lists i; |
| 530 | unsigned int set; |
| 531 | |
| 532 | if (timertable==0) |
| 533 | return; /* nothing to do */ |
| 534 | |
| 535 | for ( set=0 ; set<timer_sets ; set++) { |
| 536 | /* remember the DELETE LIST */ |
| 537 | tl = timertable[set].timers[DELETE_LIST].first_tl.next_tl; |
| 538 | end = & timertable[set].timers[DELETE_LIST].last_tl; |
| 539 | /* unlink the timer lists */ |
| 540 | for( i=0; i<NR_OF_TIMER_LISTS ; i++ ) |
| 541 | reset_timer_list( set, i ); |
| 542 | LM_DBG("emptying DELETE list for set %d\n",set); |
| 543 | /* deletes all cells from DELETE_LIST list |
| 544 | (they are no more accessible from entries) */ |
| 545 | while (tl!=end) { |
| 546 | tmp=tl->next_tl; |
| 547 | free_cell( get_dele_timer_payload(tl) ); |
| 548 | tl=tmp; |
| 549 | } |
| 550 | } |
| 551 | |
| 552 | } |
| 553 | |
| 554 | |
| 555 |
no test coverage detected