summaryrefslogtreecommitdiff
path: root/Tools/WebKitTestRunner/qt/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/WebKitTestRunner/qt/main.cpp')
-rw-r--r--Tools/WebKitTestRunner/qt/main.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/Tools/WebKitTestRunner/qt/main.cpp b/Tools/WebKitTestRunner/qt/main.cpp
index 3eb287310..d6d228091 100644
--- a/Tools/WebKitTestRunner/qt/main.cpp
+++ b/Tools/WebKitTestRunner/qt/main.cpp
@@ -30,6 +30,10 @@
#include "qquickwebview_p.h"
#include <stdio.h>
+#if !defined(NDEBUG) && defined(Q_OS_UNIX)
+#include <signal.h>
+#include <unistd.h>
+#endif
#include <QApplication>
#include <QObject>
@@ -63,6 +67,12 @@ private:
char** m_argv;
};
+#if !defined(NDEBUG) && defined(Q_OS_UNIX)
+static void sigcontHandler(int)
+{
+}
+#endif
+
void messageHandler(QtMsgType type, const char* message)
{
if (type == QtCriticalMsg) {
@@ -77,8 +87,14 @@ int main(int argc, char** argv)
{
#if !defined(NDEBUG) && defined(Q_OS_UNIX)
if (qgetenv("QT_WEBKIT_PAUSE_UI_PROCESS") == "1") {
- fprintf(stderr, "Pausing UI process, please attach to PID %d and continue... ", getpid());
+ struct sigaction newAction, oldAction;
+ newAction.sa_handler = sigcontHandler;
+ sigemptyset(&newAction.sa_mask);
+ newAction.sa_flags = 0;
+ sigaction(SIGCONT, &newAction, &oldAction);
+ fprintf(stderr, "Pausing UI process, please attach to PID %d and send signal SIGCONT... ", getpid());
pause();
+ sigaction(SIGCONT, &oldAction, 0);
fprintf(stderr, " OK\n");
}
#endif