diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2020-02-17 06:03:43 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-02-17 17:59:51 +0100 |
commit | 8ea9f1e02e85e3cc2b4ccda52639e96651d21653 (patch) | |
tree | dacfd5fff40a77f9335c18e572a6587149bb0abc /source/l/qt5/patches/qt5.qlockfile-deadlock.patch | |
parent | 6087aff6cae8d8d4c46ce086cb7b70a5af412d2b (diff) | |
download | current-8ea9f1e02e85e3cc2b4ccda52639e96651d21653.tar.gz |
Mon Feb 17 06:03:43 UTC 202020200217060343
ap/ksh93-20200131_e4fea8c5-x86_64-1.txz: Upgraded.
ap/zsh-5.8-x86_64-1.txz: Upgraded.
l/brotli-1.0.7-x86_64-1.txz: Added.
l/gmime-3.2.6-x86_64-1.txz: Upgraded.
l/hyphen-2.8.8-x86_64-1.txz: Added.
l/openal-soft-1.20.1-x86_64-1.txz: Upgraded.
Thanks to Skaendo and Willy Sudiarto Raharjo.
l/qt5-webkit-5.212.0_alpha3-x86_64-1.txz: Added.
Thanks to alienBOB.
l/woff2-20180531_a0d0ed7-x86_64-1.txz: Added.
n/bluez-5.53-x86_64-1.txz: Upgraded.
n/mutt-1.13.4-x86_64-1.txz: Upgraded.
n/samba-4.11.6-x86_64-3.txz: Rebuilt.
n/socat-1.7.3.4-x86_64-1.txz: Added.
n/whois-5.5.6-x86_64-1.txz: Upgraded.
testing/packages/PAM/samba-4.11.6-x86_64-3_pam.txz: Rebuilt.
Added patches to fix joining a DC when using krb5. Looks like the patches are
already upstreamed in the latest 4.12.0-rc. Thanks to camerabambai.
Diffstat (limited to 'source/l/qt5/patches/qt5.qlockfile-deadlock.patch')
-rw-r--r-- | source/l/qt5/patches/qt5.qlockfile-deadlock.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/source/l/qt5/patches/qt5.qlockfile-deadlock.patch b/source/l/qt5/patches/qt5.qlockfile-deadlock.patch deleted file mode 100644 index e51d5ad0..00000000 --- a/source/l/qt5/patches/qt5.qlockfile-deadlock.patch +++ /dev/null @@ -1,116 +0,0 @@ -# Taken from: -# https://projects.archlinux.org/svntogit/packages.git/plain/trunk/qlockfile-deadlock.patch?h=packages/qt5 -# QTBUG-44771 -# ---------------------------------------------------------------------------- -From f58e882b7594c59b6050d3c87562fcf836d10f60 Mon Sep 17 00:00:00 2001 -From: Olivier Goffart <ogoffart@woboq.com> -Date: Tue, 14 Apr 2015 10:58:26 +0200 -Subject: QLockFile: fix deadlock when the lock file is corrupted - -[ChangeLog][QtCore][QLockFile] Fixed a deadlock when the lock file -is corrupted. - -Task-number: QTBUG-44771 -Change-Id: Ic490b09d70ff1cc1733b64949889a73720b2d0f3 -Reviewed-by: David Faure <david.faure@kdab.com> ---- - src/corelib/io/qlockfile_unix.cpp | 10 +++++----- - src/corelib/io/qlockfile_win.cpp | 22 +++++++++++----------- - tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp | 17 +++++++++++++++++ - 3 files changed, 33 insertions(+), 16 deletions(-) - -diff --git a/qtbase/src/corelib/io/qlockfile_unix.cpp b/qtbase/src/corelib/io/qlockfile_unix.cpp -index bf1015a..dc9f8f7 100644 ---- a/qtbase/src/corelib/io/qlockfile_unix.cpp -+++ b/qtbase/src/corelib/io/qlockfile_unix.cpp -@@ -181,11 +181,11 @@ bool QLockFilePrivate::isApparentlyStale() const - { - qint64 pid; - QString hostname, appname; -- if (!getLockInfo(&pid, &hostname, &appname)) -- return false; -- if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) { -- if (::kill(pid, 0) == -1 && errno == ESRCH) -- return true; // PID doesn't exist anymore -+ if (getLockInfo(&pid, &hostname, &appname)) { -+ if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) { -+ if (::kill(pid, 0) == -1 && errno == ESRCH) -+ return true; // PID doesn't exist anymore -+ } - } - const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime()); - return staleLockTime > 0 && age > staleLockTime; -diff --git a/qtbase/src/corelib/io/qlockfile_win.cpp b/qtbase/src/corelib/io/qlockfile_win.cpp -index f9f2909..3587c7b 100644 ---- a/qtbase/src/corelib/io/qlockfile_win.cpp -+++ b/qtbase/src/corelib/io/qlockfile_win.cpp -@@ -115,21 +115,21 @@ bool QLockFilePrivate::isApparentlyStale() const - { - qint64 pid; - QString hostname, appname; -- if (!getLockInfo(&pid, &hostname, &appname)) -- return false; - - // On WinRT there seems to be no way of obtaining information about other - // processes due to sandboxing - #ifndef Q_OS_WINRT -- if (hostname == QString::fromLocal8Bit(localHostName())) { -- HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid); -- if (!procHandle) -- return true; -- // We got a handle but check if process is still alive -- DWORD dwR = ::WaitForSingleObject(procHandle, 0); -- ::CloseHandle(procHandle); -- if (dwR == WAIT_TIMEOUT) -- return true; -+ if (getLockInfo(&pid, &hostname, &appname)) { -+ if (hostname == QString::fromLocal8Bit(localHostName())) { -+ HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid); -+ if (!procHandle) -+ return true; -+ // We got a handle but check if process is still alive -+ DWORD dwR = ::WaitForSingleObject(procHandle, 0); -+ ::CloseHandle(procHandle); -+ if (dwR == WAIT_TIMEOUT) -+ return true; -+ } - } - #endif // !Q_OS_WINRT - const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime()); -diff --git a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -index 77bef94..12bea67 100644 ---- a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -+++ b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -@@ -58,6 +58,7 @@ private slots: - void staleLongLockFromBusyProcess(); - void staleLockRace(); - void noPermissions(); -+ void corruptedLockFile(); - - public: - QString m_helperApp; -@@ -415,5 +416,21 @@ void tst_QLockFile::noPermissions() - QCOMPARE(int(lockFile.error()), int(QLockFile::PermissionError)); - } - -+void tst_QLockFile::corruptedLockFile() -+{ -+ const QString fileName = dir.path() + "/corruptedLockFile"; -+ -+ { -+ // Create a empty file. Typically the result of a computer crash or hard disk full. -+ QFile file(fileName); -+ QVERIFY(file.open(QFile::WriteOnly)); -+ } -+ -+ QLockFile secondLock(fileName); -+ secondLock.setStaleLockTime(100); -+ QVERIFY(secondLock.tryLock(10000)); -+ QCOMPARE(int(secondLock.error()), int(QLockFile::NoError)); -+} -+ - QTEST_MAIN(tst_QLockFile) - #include "tst_qlockfile.moc" --- -cgit v0.11.0 - |