From ec6e9c8b7f311befce16d653ce83ecd64b0d05ec Mon Sep 17 00:00:00 2001 From: Rylie Pavlik Date: Wed, 21 Aug 2024 10:56:48 -0500 Subject: [PATCH] ipc/android: Be sure to catch destructor exceptions, if any. Part-of: --- doc/changes/misc_fixes/mr.2308.md | 1 + src/xrt/ipc/android/ipc_client_android.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 doc/changes/misc_fixes/mr.2308.md diff --git a/doc/changes/misc_fixes/mr.2308.md b/doc/changes/misc_fixes/mr.2308.md new file mode 100644 index 000000000..551ad752e --- /dev/null +++ b/doc/changes/misc_fixes/mr.2308.md @@ -0,0 +1 @@ +Fix: Reliability and robustness improvements on Android. diff --git a/src/xrt/ipc/android/ipc_client_android.cpp b/src/xrt/ipc/android/ipc_client_android.cpp index 22653be18..87a380467 100644 --- a/src/xrt/ipc/android/ipc_client_android.cpp +++ b/src/xrt/ipc/android/ipc_client_android.cpp @@ -102,6 +102,11 @@ ipc_client_android_destroy(struct ipc_client_android **ptr_ica) if (ica == NULL) { return; } - delete ica; + try { + delete ica; + } catch (std::exception const &e) { + // Must catch and ignore any exceptions in the destructor! + U_LOG_E("Failure while destroying IPC clean: %s", e.what()); + } *ptr_ica = NULL; }