Android: make calling exit() conditional on an environment variable

Task-number: QTBUG-82617
Task-number: QTBUG-85449
Task-number: QTBUG-83043
Change-Id: I5ac67b5d57550e5a1f816e5db01f4aab31127283
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 6e0ce4ee8005d36ee5d080212b8d83b42ebcae17)
This commit is contained in:
Ville Voutilainen 2021-01-28 09:56:30 +02:00
parent 634cb4ea7c
commit 5a72db7562

View File

@ -519,7 +519,7 @@ static void waitForServiceSetup(JNIEnv *env, jclass /*clazz*/)
QtAndroidPrivate::waitForServiceSetup();
}
static jboolean startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
static void startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
{
{
JNIEnv* env = nullptr;
@ -558,7 +558,8 @@ static jboolean startQtApplication(JNIEnv */*env*/, jclass /*clazz*/)
sem_destroy(&m_exitSemaphore);
// We must call exit() to ensure that all global objects will be destructed
exit(ret);
if (!qEnvironmentVariableIsSet("QT_ANDROID_NO_EXIT_CALL"))
exit(ret);
}
static void quitQtCoreApplication(JNIEnv *env, jclass /*clazz*/)