petsc-3.14.5 2021-03-03
Report Typos and Errors

# PetscObjectListRemoveReference

Calls PetscObjectDereference() on an object in the list immediately but keeps a pointer to the object in the list.

### Synopsis

    PetscErrorCode  PetscObjectListRemoveReference(PetscObjectList *fl,const char name[])

### Input Parameters

| fl | - the object list
| name | - the name to use for the object

### Notes

Use PetscObjectListAdd(PetscObjectList,const char name[],NULL) to truly remove the object from the list

Use this routine ONLY if you know that the object referenced will remain in existence until the pointing object is destroyed

Developer Note: this is to handle some cases that otherwise would result in having circular references so reference counts never got to zero

### See Also

PetscObjectListDestroy(), PetscObjectListFind(), PetscObjectListDuplicate(), PetscObjectListReverseFind(), PetscObjectListDuplicate(), PetscObjectListAdd()

### Level

developer

### Location

src/sys/objects/olist.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages