petsc-3.14.6 2021-03-30
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