QCoreApplication: improve docs on exit() and quit() thread-safety

Reporter of QTBUG-91771 was confused.

Change-Id: I26b8286f61534f88b649fffd166c4368167a5638
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 183df80b9c1439202ae6b967774123cb313e9097)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Thiago Macieira 2021-03-14 09:48:00 -07:00 committed by Qt Cherry-pick Bot
parent 168855901a
commit ab813eab98

View File

@ -1400,6 +1400,12 @@ void QCoreApplicationPrivate::execCleanup()
function \e does return to the caller -- it is event processing that function \e does return to the caller -- it is event processing that
stops. stops.
Note also that this function is not thread-safe. It should be called only
from the main thread (the thread that the QCoreApplication object is
processing events on). To ask the application to exit from another thread,
either use QCoreApplication::quit() or instead call this function from the
main thread with QMetaMethod::invokeMethod().
\sa quit(), exec() \sa quit(), exec()
*/ */
void QCoreApplication::exit(int returnCode) void QCoreApplication::exit(int returnCode)
@ -1951,6 +1957,8 @@ void QCoreApplicationPrivate::maybeQuit()
} }
/*! /*!
\threadsafe
Asks the application to quit. Asks the application to quit.
The request may be ignored if the application prevents the quit, The request may be ignored if the application prevents the quit,
@ -1962,7 +1970,7 @@ void QCoreApplicationPrivate::maybeQuit()
code 0 (success). code 0 (success).
To exit the application without a chance of being interrupted, call To exit the application without a chance of being interrupted, call
exit() directly. exit() directly. Note that method is not thread-safe.
It's good practice to always connect signals to this slot using a It's good practice to always connect signals to this slot using a
\l{Qt::}{QueuedConnection}. If a signal connected (non-queued) to this slot \l{Qt::}{QueuedConnection}. If a signal connected (non-queued) to this slot
@ -1975,6 +1983,11 @@ void QCoreApplicationPrivate::maybeQuit()
\snippet code/src_corelib_kernel_qcoreapplication.cpp 1 \snippet code/src_corelib_kernel_qcoreapplication.cpp 1
\b{Thread-safety note}: this function may be called from any thread to
thread-safely cause the currently-running main application loop to exit.
However, thread-safety is not guaranteed if the QCoreApplication object is
being destroyed at the same time.
\sa exit(), aboutToQuit() \sa exit(), aboutToQuit()
*/ */
void QCoreApplication::quit() void QCoreApplication::quit()