[WK2][EFL]: Invalidate the ProcessLauncher when the process is terminated before...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jun 2013 08:52:27 +0000 (08:52 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jun 2013 08:52:27 +0000 (08:52 +0000)
https://bugs.webkit.org/show_bug.cgi?id=117865

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-06-21
Reviewed by Christophe Dumez.

Original patch from Carlos Garcia Campos for the Gtk port.

* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::terminateProcess): If process is still
launching, just invalidate the launcher. Reset the process
identifier after killing the process.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/Launcher/efl/ProcessLauncherEfl.cpp

index 7cfcec3..15fcda9 100644 (file)
@@ -1,3 +1,17 @@
+2013-06-21  Sergio Correia  <sergio.correia@openbossa.org>
+
+        [WK2][EFL]: Invalidate the ProcessLauncher when the process is terminated before it has finished launching
+        https://bugs.webkit.org/show_bug.cgi?id=117865
+
+        Reviewed by Christophe Dumez.
+
+        Original patch from Carlos Garcia Campos for the Gtk port.
+
+        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
+        (WebKit::ProcessLauncher::terminateProcess): If process is still
+        launching, just invalidate the launcher. Reset the process
+        identifier after killing the process.
+
 2013-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK] Migrate WebKitWebResource to GTask
index 65b5e58..9b918ab 100644 (file)
@@ -114,9 +114,15 @@ void ProcessLauncher::launchProcess()
 
 void ProcessLauncher::terminateProcess()
 {
+    if (m_isLaunching) {
+        invalidate();
+        return;
+    }
+
     if (!m_processIdentifier)
         return;
     kill(m_processIdentifier, SIGKILL);
+    m_processIdentifier = 0;
 }
 
 void ProcessLauncher::platformInvalidate()