petsc-3.8.4 2018-03-24
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