]> dgit.raspbian.org Git - qtbase-opensource-src.git/commit
revert "QProcessEnvironment: simplify locking"
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Mon, 21 Sep 2026 18:14:33 +0000 (21:14 +0300)
committerDmitry Shachnev <mitya57@debian.org>
Mon, 21 Sep 2026 18:14:33 +0000 (21:14 +0300)
commitaad291e88f75039989ff2b5de592b11bdf5084e5
treea79d6b9f04c7537719defb02d0d6cd8df2168c31
parent1d518659fb81e697452b9f1ae40f609b29aac1de
revert "QProcessEnvironment: simplify locking"

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit?id=080d61c020678b75
Last-Update: 2026-01-29

This reverts commit c5d6b263c204cb09db2be36826e19acb03dc24fb.

The commit being reverted assumes the mutex is only protecting 'nameMap'
and nothing else is mutable, which is false. The mutex is not only
protecting 'nameMap' but also protecting the containing value objects,
since even though the value object is accessed read-only, its
implementation mutates its internal states for 2-way conversion between
ByteArray and QString.

Commit 85e61297f7b02297641826332dbdbc845a88c34b ("restore
QProcessEnvironment shared data thread safety on unix") said that
implicit sharing together with 'mutable' is a time bomb and the bomb is
triggered by the reverted commit.

Gbp-Pq: Name revert_simplify_locking.diff
src/corelib/io/qprocess.cpp
src/corelib/io/qprocess_p.h
src/corelib/io/qprocess_unix.cpp