_hppa_bug561203_decrease_failure_rate
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Tue, 15 May 2018 16:24:10 +0000 (17:24 +0100)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Tue, 15 May 2018 16:24:10 +0000 (17:24 +0100)
~1/1000 when run in a row. Hopefully, this will make failures rare enough
 not to cause FTBFSes.
 Degradation in performance should not be very significant and is acceptable.
Author: Modestas Vainius <modax@debian.org>
Author: Fathi Boudra <fabo@debian.org>
Forwarded: not-needed
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561203
Origin: vendor
Last-Update: 2011-12-26

Gbp-Pq: Name 99_hppa_bug561203_decrease_failure_rate.diff

src/corelib/io/qprocess_unix.cpp

index e17d191899e71dc650a1b4a912fd85cd0419421f..a0c3c368f6f2035d8ee00ae9d36dbdeaf8d8a863 100644 (file)
@@ -555,6 +555,13 @@ static char **_q_dupEnvironment(const QProcessEnvironmentPrivate::Hash &environm
     return envp;
 }
 
+inline void debbug_561203()
+{
+#if defined(__linux__) && defined(__hppa__)
+        usleep(1000);
+#endif
+}
+
 #ifdef Q_OS_MAC
 Q_GLOBAL_STATIC(QMutex, cfbundleMutex);
 #endif
@@ -683,6 +690,7 @@ void QProcessPrivate::startProcess()
 #if defined(Q_OS_QNX)
     pid_t childPid = spawnChild(workingDirPtr, argv, envp);
 #else
+    debbug_561203();
     pid_t childPid = fork();
     int lastForkErrno = errno;
 #endif
@@ -1380,6 +1388,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
         return false;
     }
 
+    debbug_561203();
     pid_t childPid = fork();
     if (childPid == 0) {
         struct sigaction noaction;
@@ -1392,6 +1401,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
         qt_safe_close(startedPipe[0]);
         qt_safe_close(pidPipe[0]);
 
+        debbug_561203();
         pid_t doubleForkPid = fork();
         if (doubleForkPid == 0) {
             qt_safe_close(pidPipe[1]);