It should get/restore.
On May 19, 2017 12:10:32 PM MDT, Barry Smith <[email protected]> wrote: > > Jed, > > Should this utilize the Get/Restore paradigm? > >If not should the name be different to prevent confusion? Currently we >have > > XXXCreate --> user needs to call a destroy > > XXXXGetYYY --> user needs to call a restore (but not always?) > > Could we introduce say > > XXXAccessYYY --> user does not call destroy or restore ? > > Barry > >> On May 19, 2017, at 9:20 AM, Jed Brown <[email protected]> wrote: >> >> Thanks. I just pushed this. >> >> commit 96a6f12955a790d77f6eb7eb6b1dcf9dd5e1cf30 >> Author: Jed Brown <[email protected]> >> Date: Fri May 19 08:17:45 2017 -0600 >> >> MatISGetLocalMat: add note on reference counting >> >> Reported-by: Franck Houssen <[email protected]> >> >> diff --git a/src/mat/impls/is/matis.c b/src/mat/impls/is/matis.c >> index dc4a894aae..287c0aa554 100644 >> --- a/src/mat/impls/is/matis.c >> +++ b/src/mat/impls/is/matis.c >> @@ -837,6 +837,9 @@ PetscErrorCode MatISGetLocalMat_IS(Mat mat,Mat >*local) >> matrix and want to provide it to the inner matrix object to improve >the performance >> of the MatSetValues() operation. >> >> + This function does not increase the reference count for the local >Mat. Do not destroy it and do not attempt to use >> + your reference after destroying the parent mat. >> + >> .seealso: MATIS >> @*/ >> PetscErrorCode MatISGetLocalMat(Mat mat,Mat *local) >> >> Franck Houssen <[email protected]> writes: >> >>> Hello, >>> >>> Do I need to MatDestroy the local matrix returned by >MatISGetLocalMat ? (the global matrix has been created with >MatCreateIS) >>> >>> Tried to look in the source tree... But I'am not sure to get the >answer: in petsc-3.7.6/src/mat/impls/is/matis.c, MatISGetLocalMat seems >to call MatISGetLocalMat_C, but, I can't find MatISGetLocalMat_C in the >source tree !?... >>> >>> Franck
