qt6-bb10/src/network
Timur Pocheptsov de225ccdf9 QNetworkSession - register types before connecting slots
QNetworkSession's ctor has a race condition: it 1) connects signals/slots
and also 2) registers meta-types (but after these connects). Our users apparently
have a lot of per-thread QNAMs in multiple threads (and implicitly
many QNetworkSessions on different threads too). From error logs it appears
that while one thread tries to connect signals/slots and evaluates the types
of signal and slot arguments, another thread can register this type.
If the first thread extracted signal argument types, then the second
registered this type, we can end up in a 'type mismatch' error on the first
thread with seemingly the same types in a debug message (something like
"type mismatch A::Some <-> A::Some") - they have the same name, but one
has type() == 0 and another - some non-zero type().

Now we call qRegisterMetaType before connect.

Task-number: QTBUG-50901
Change-Id: Idbb9515573e174bbc5e5bf55dc3a7911a81646ea
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-02-16 15:52:42 +00:00
..
access QtNetwork: fix GCC 7 warnings 2017-01-14 06:28:09 +00:00
bearer QNetworkSession - register types before connecting slots 2017-02-16 15:52:42 +00:00
doc Document Qt Network licenses 2016-10-24 09:44:57 +00:00
kernel qnetworkproxy_mac - fix proxyAutoConfigCallback 2017-01-26 20:32:24 +00:00
socket QSocks5SocketEngine: stop polling on UDP 2017-02-01 13:44:11 +00:00
ssl qsslsocket_openssl_symbols.cpp: Fix signedness warning in DEFINEFUNC2 2017-01-31 08:29:12 +00:00
configure.json Don't set platform specific QT_NO_FOO defines in qglobal.h 2016-11-24 08:37:38 +00:00
configure.pri configure: make library sources fail more verbosely 2016-12-30 10:25:38 +00:00
network.pro Introduce SCTP sockets support 2016-07-27 06:37:24 +00:00