Listitem *item;  if (e->invalid_le != NULL) { listdel (invalid_list, e->invalid_le); e->invalid_le = NULL; }  for (item = listhead (invalid_list); item; item = listnext (invalid_list, item)) { FCacheEntry *this_entry = (FCacheEntry *)listdata (item);  if (e->callback.ExpirationTime < this_entry->callback.ExpirationTime) { e->invalid_le = listaddbefore (invalid_list, item, e); return; } } e->invalid_le = listaddhead (invalid_list, e); LWP_NoYieldSignal (invalid_list);
heap_insert (invalid_heap, (const void *)e, &e->invalid_ptr); LWP_NoYieldSignal (invalid_heap);
add_to_invalidate (FCacheEntry *e){    Listitem *item;    if (e->invalid_le != NULL) {	listdel (invalid_list, e->invalid_le);	e->invalid_le = NULL;    }    for (item = listhead (invalid_list);	 item;	 item = listnext (invalid_list, item)) {	FCacheEntry *this_entry = (FCacheEntry *)listdata (item);	if (e->callback.ExpirationTime < this_entry->callback.ExpirationTime) {	    e->invalid_le = listaddbefore (invalid_list,					   item,					   e);	    return;	}    }    e->invalid_le = listaddhead (invalid_list, e);    LWP_NoYieldSignal (invalid_list);}