rem: struct timer_link  *tl, *end, *tmp; int i;
context: void tm_shutdown(){	struct timer_link  *tl, *end, *tmp;	int i;	DBG("DEBUG: tm_shutdown : start\n");	/* remember the DELETE LIST */	tl = hash_table->timers[DELETE_LIST].first_tl.next_tl;	end = & hash_table->timers[DELETE_LIST].last_tl;	/* unlink the timer lists */	for( i=0; i<NR_OF_TIMER_LISTS ; i++ )		reset_timer_list( hash_table, i );	DBG("DEBUG: tm_shutdown : empting DELETE list\n");	/* deletes all cells from DELETE_LIST list	(they are no more accessible from enrys) */	while (tl!=end) {		tmp=tl->next_tl;		free_cell((struct cell*)tl->payload);		tl=tmp;	}	/* destroy the hash table */	DBG("DEBUG: tm_shutdown : empting hash table\n");	free_hash_table( hash_table );	DBG("DEBUG: tm_shutdown : removing semaphores\n");	lock_cleanup();	DBG("DEBUG: tm_shutdown : done\n");}