emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/android a7f0f9498f2 2/3: Update Android port


From: Po Lu
Subject: feature/android a7f0f9498f2 2/3: Update Android port
Date: Thu, 9 Mar 2023 07:01:14 -0500 (EST)

branch: feature/android
commit a7f0f9498f2ce303f73764817e49d0ea0e2e5c9c
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Update Android port
    
    * src/android.c (android_destroy_handle): Handle OOM errors in
    android_destroy_handle.
---
 src/android.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/android.c b/src/android.c
index e2ae77e30d0..69c87e731bd 100644
--- a/src/android.c
+++ b/src/android.c
@@ -2914,6 +2914,13 @@ android_destroy_handle (android_handle handle)
   (*android_java_env)->CallVoidMethod (android_java_env,
                                       android_handles[handle].handle,
                                       method);
+
+  /* Just clear any exception thrown.  If destroying the handle
+     fails from an out-of-memory error, then Emacs loses some
+     resources, but that is not as big deal as signalling.  */
+  (*android_java_env)->ExceptionClear (android_java_env);
+
+  /* Delete the global reference regardless of any error.  */
   (*android_java_env)->DeleteGlobalRef (android_java_env,
                                        android_handles[handle].handle);
   android_handles[handle].handle = NULL;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]