From 5872a89474f632188b650d3d2d13193a3c624049 Mon Sep 17 00:00:00 2001 From: Andreas Buhr Date: Fri, 16 Oct 2020 16:27:14 +0200 Subject: name our glib event sources to ease debugging glib event sources can have a name, but it is not required. Internal to glib, it is common to give them a name, see for example https://git.io/JTZ8g . This patch gives a name to each glib event source created in qtbase. Task-number: QTBUG-84291 Change-Id: I4f04526dcec082242312e3a66da2adf37a22e626 Reviewed-by: Giuseppe D'Angelo --- src/corelib/kernel/qeventdispatcher_glib.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/corelib/kernel/qeventdispatcher_glib.cpp') diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index 4efdcf4cc6..59c937362b 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -318,32 +318,36 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context) #endif // setup post event source - postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs, - sizeof(GPostEventSource))); + GSource *source = g_source_new(&postEventSourceFuncs, sizeof(GPostEventSource)); + g_source_set_name(source, "[Qt] GPostEventSource"); + postEventSource = reinterpret_cast(source); + postEventSource->serialNumber.storeRelaxed(1); postEventSource->d = this; g_source_set_can_recurse(&postEventSource->source, true); g_source_attach(&postEventSource->source, mainContext); // setup socketNotifierSource - socketNotifierSource = - reinterpret_cast(g_source_new(&socketNotifierSourceFuncs, - sizeof(GSocketNotifierSource))); + source = g_source_new(&socketNotifierSourceFuncs, sizeof(GSocketNotifierSource)); + g_source_set_name(source, "[Qt] GSocketNotifierSource"); + socketNotifierSource = reinterpret_cast(source); (void) new (&socketNotifierSource->pollfds) QList(); g_source_set_can_recurse(&socketNotifierSource->source, true); g_source_attach(&socketNotifierSource->source, mainContext); // setup normal and idle timer sources - timerSource = reinterpret_cast(g_source_new(&timerSourceFuncs, - sizeof(GTimerSource))); + source = g_source_new(&timerSourceFuncs, sizeof(GTimerSource)); + g_source_set_name(source, "[Qt] GTimerSource"); + timerSource = reinterpret_cast(source); (void) new (&timerSource->timerList) QTimerInfoList(); timerSource->processEventsFlags = QEventLoop::AllEvents; timerSource->runWithIdlePriority = false; g_source_set_can_recurse(&timerSource->source, true); g_source_attach(&timerSource->source, mainContext); - idleTimerSource = reinterpret_cast(g_source_new(&idleTimerSourceFuncs, - sizeof(GIdleTimerSource))); + source = g_source_new(&idleTimerSourceFuncs, sizeof(GIdleTimerSource)); + g_source_set_name(source, "[Qt] GIdleTimerSource"); + idleTimerSource = reinterpret_cast(source); idleTimerSource->timerSource = timerSource; g_source_set_can_recurse(&idleTimerSource->source, true); g_source_attach(&idleTimerSource->source, mainContext); -- cgit v1.2.3