summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qcoreapplication_p.h
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-08-12 08:33:33 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-08-12 08:40:45 (GMT)
commitb3b2bc3f190d80e30b968648dd91048df67b8a50 (patch)
tree65b0d075d2be2addb55aa7baf6af58a8154abbe6 /src/corelib/kernel/qcoreapplication_p.h
parent62aa09a47cc226518d42f1b3b2337fdcb440da33 (diff)
downloadQt-b3b2bc3f190d80e30b968648dd91048df67b8a50.zip
Qt-b3b2bc3f190d80e30b968648dd91048df67b8a50.tar.gz
Qt-b3b2bc3f190d80e30b968648dd91048df67b8a50.tar.bz2
Possible Dead lock in the destructor of QObject
The problem was that we were locking a mutex that was global to thread to remove posted events associated with a QObject from the posted event list. We were also immediately deleting those events. If that triggers the deletion of another QObject, you would then trigger a dead-lock. Task-number: 259514 Reviewed-by: brad Reviewed-by: ogoffart
Diffstat (limited to 'src/corelib/kernel/qcoreapplication_p.h')
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/corelib/kernel/qcoreapplication_p.h b/src/corelib/kernel/qcoreapplication_p.h
index bb94cbb..ef776c7 100644
--- a/src/corelib/kernel/qcoreapplication_p.h
+++ b/src/corelib/kernel/qcoreapplication_p.h
@@ -90,7 +90,6 @@ public:
static QThread *mainThread();
static bool checkInstance(const char *method);
static void sendPostedEvents(QObject *receiver, int event_type, QThreadData *data);
- static void removePostedEvents_unlocked(QObject *receiver, int type, QThreadData *data);
#if !defined (QT_NO_DEBUG) || defined (QT_MAC_FRAMEWORK_BUILD)
void checkReceiverThread(QObject *receiver);