rem: udomain_remove(ptr->slot->d, ptr); slot_rem(ptr->slot, ptr); ptr->domain = 0;
context: int timer_udomain(udomain_t* _d){	struct urecord* ptr, *t;	get_lock(&_d->lock);	ptr = _d->d_ll.first;	while(ptr) {		if (timer_urecord(ptr) < 0) {			LOG(L_ERR, "timer_udomain(): Error in timer_urecord\n");			release_lock(&_d->lock);			return -1;		}				if (ptr->contacts == 0) {			udomain_remove(ptr->slot->d, ptr);			slot_rem(ptr->slot, ptr);			ptr->domain = 0;			t = ptr;			ptr = ptr->d_ll.next;			free_urecord(t);		} else {			ptr = ptr->d_ll.next;		}	}		release_lock(&_d->lock);	return 0;}