diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2013-09-21 17:42:33 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-05 00:25:13 +0200 |
commit | c012ee2940bc087720b4aa0d257540921cf9a139 (patch) | |
tree | 793b3b94c8e7560fb83c0597a2c323dcc8b42a53 /src/concurrent | |
parent | d519b085d18b7a2a4b4035c994def4872ca798bb (diff) |
QObject: use per-thread storage for qFlagLocation()
qFlagLocation() uses a global char* array to transport source location
information from the connect() side to the metaobject side. The size
of the array is 2 (two), which just about suffices for a single connect()
statement.
Obviously, if more than one thread makes a (_any_) connection at the same
time, the data is useless and, worse, there's a data race.
The non-reentrancy of qFlagLocations() cannot and need not be fixed,
but use a per-thread flagged_locations array in QThreadData so threads
don't disturb each other.
Task-number: QTBUG-3680
Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/concurrent')
0 files changed, 0 insertions, 0 deletions