ListIterator list_iterator_create(List l) { ListIterator i; assert(l != NULL); if (!(i = list_iterator_alloc())) return(out_of_memory()); i->list = l; list_mutex_lock(&l->mutex); assert(l->magic == LIST_MAGIC); i->pos = l->head; i->prev = &l->head; i->iNext = l->iNext; l->iNext = i; list_mutex_unlock(&l->mutex); assert(i->magic = LIST_MAGIC); /* set magic via assert abuse */ return(i); }
ListIterator list_iterator_create (List l) { ListIterator i; assert(l != NULL); if (!(i = list_iterator_alloc())) return(lsd_nomem_error(__FILE__, __LINE__, "list iterator create")); i->list = l; list_mutex_lock(&l->mutex); assert(l->magic == LIST_MAGIC); i->pos = l->head; i->prev = &l->head; i->iNext = l->iNext; l->iNext = i; assert(i->magic = LIST_MAGIC); /* set magic via assert abuse */ list_mutex_unlock(&l->mutex); return(i); }
/* list_iterator_create() */ ListIterator list_iterator_create (List l) { ListIterator i; assert(l != NULL); i = list_iterator_alloc(); i->list = l; slurm_mutex_lock(&l->mutex); assert(l->magic == LIST_MAGIC); i->pos = l->head; i->prev = &l->head; i->iNext = l->iNext; l->iNext = i; assert(i->magic = LIST_MAGIC); /* set magic via assert abuse */ slurm_mutex_unlock(&l->mutex); return i; }