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 

Attachment: signature.asc
Description: PGP signature

Reply via email to