Go to file
Joerg Bornemann c7ec07d401 Do not wait in QWindowsPipe{Reader|Writer}::stop()
A deadlock can occur if the user does

    QLocalSocket *ls = new QLocalSocket;
    ls->moveToThread(t);
    ...
    delete ls;

Then QLocalSocket calls QWindowsPipeReader::stop() in a different thread
than the I/O operation is running in. The waitForNotified(-1) call would
then wait indefinitely until the I/O thread is in alertable wait state
again. Especially on application shut down this might never be the case,
and the application would deadlock.

Solve this by detaching the Overlapped object from the
QWindowsPipe{Reader|Writer} in stop() and delete it in the callback.

Task-number: QTBUG-61643
Change-Id: Ie262d75c5fd92ac7cf7dfcdbf1519050be9fd3c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-17 11:20:47 +00:00
bin
config.tests configure: Remove test for unused feature "mremap" 2017-07-10 18:00:38 +00:00
dist Remove mention of reverted fix 2017-06-28 11:54:29 +02:00
doc Doc: add tutorials to overview page Qt Widgets 2017-07-03 10:35:44 +00:00
examples Examples: Remove remains of wince 2017-07-14 17:30:51 +00:00
lib
mkspecs Fix CONFIG+=silent for MSVC non-inference rules 2017-07-14 18:49:56 +00:00
qmake Doc: Update docs for QMAKE_MACOSX_DEPLOYMENT_TARGET in qmake Manual 2017-07-17 07:31:17 +00:00
src Do not wait in QWindowsPipe{Reader|Writer}::stop() 2017-07-17 11:20:47 +00:00
tests QLineEdit: Fix length calculation for input mask "\\\\" 2017-07-13 14:59:17 +00:00
util
.gitattributes
.gitignore GitIgnore config.status.bat and config.tests/.qmake.stash 2017-06-13 05:58:30 +00:00
.qmake.conf Bump version 2017-07-03 07:22:45 +00:00
.tag
config_help.txt Restore behavior of using libEGL and libGLESv2 as default for angle 2017-05-11 08:35:54 +00:00
configure Allow using Xcode Command Line Tools to build Qt 2017-06-29 02:00:12 +00:00
configure.bat
configure.json configure: Remove test for unused feature "mremap" 2017-07-10 18:00:38 +00:00
configure.pri build the configure tests in the top-level build dir 2017-06-12 09:55:39 +00:00
header.BSD
header.BSD-OLD
header.COMM
header.FDL
header.FDL-OLD
header.GPL
header.GPL-EXCEPT
header.LGPL
header.LGPL3
header.LGPL3-COMM
header.LGPL21
header.LGPL-NOGPL2
header.LGPL-ONLY
INSTALL
LGPL_EXCEPTION.txt
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.GPLv3
LICENSE.LGPL3
LICENSE.LGPLv3
LICENSE.LGPLv21
LICENSE.PREVIEW.COMMERCIAL
qtbase.pro
sync.profile