diff options
author | Po Lu <luangruo@yahoo.com> | 2024-05-12 20:24:19 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2024-05-12 20:24:19 +0800 |
commit | 86d196c71d763ae81229e7e1eb2c6e37d0456f06 (patch) | |
tree | cdd109f0c88de58606399efe977b18fd844cf3c8 | |
parent | ea98a6af2f30eccfed3e152149c6a039bd16ff33 (diff) | |
download | emacs-86d196c71d763ae81229e7e1eb2c6e37d0456f06.tar.gz emacs-86d196c71d763ae81229e7e1eb2c6e37d0456f06.tar.bz2 emacs-86d196c71d763ae81229e7e1eb2c6e37d0456f06.zip |
Properly deinitialize directory cursors on closedir
* src/androidvfs.c (android_saf_tree_closedir): Call
cursor.close, for deleting the local reference to enable its
garbage collection is not sufficient to release all related
resources.
-rw-r--r-- | src/androidvfs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/androidvfs.c b/src/androidvfs.c index 004abd62518..c0bd86e54b8 100644 --- a/src/androidvfs.c +++ b/src/androidvfs.c @@ -5562,6 +5562,10 @@ android_saf_tree_closedir (struct android_vdir *vdir) free (dir->name); /* Yes, DIR->cursor is a local reference. */ + (*android_java_env)->CallVoidMethod (android_java_env, + dir->cursor, + cursor_class.close); + (*android_java_env)->ExceptionClear (android_java_env); ANDROID_DELETE_LOCAL_REF (dir->cursor); /* If the ``directory file descriptor'' has been opened, close |