Changeset 141587 in webkit
- Timestamp:
- Feb 1, 2013 6:17:49 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r141583 r141587 1 2013-02-01 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r141319. 4 http://trac.webkit.org/changeset/141319 5 https://bugs.webkit.org/show_bug.cgi?id=108629 6 7 This patch is causing the UIProcess to hang on GTK port when 8 loading plugins (Requested by chris-qBT_laptop on #webkit). 9 10 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: 11 (WebKit::PluginProcessProxy::scanPlugin): 12 1 13 2013-02-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2 14 -
trunk/Source/WebKit2/UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp
r141319 r141587 59 59 } 60 60 61 static bool spawnProcessSync(char** argv, char** standardOutput, char** standardError, int* exitStatus)62 {63 // If the disposition of SIGCHLD signal is set to SIG_IGN (default) then64 // the signal will be ignored and g_spawn_sync() will not be able to return65 // the status. As a consequence, we make sure that the disposition is set66 // to SIG_DFL before calling g_spawn_sync().67 struct sigaction defaultAction, oldAction;68 defaultAction.sa_handler = SIG_DFL;69 defaultAction.sa_flags = 0;70 sigemptyset(&defaultAction.sa_mask);71 sigaction(SIGCHLD, &defaultAction, &oldAction);72 73 bool success = g_spawn_sync(0, argv, 0, G_SPAWN_STDERR_TO_DEV_NULL, 0, 0, standardOutput, standardError, exitStatus, 0);74 75 // Restore SIGCHLD signal disposition.76 sigaction(SIGCHLD, &oldAction, 0);77 78 return success;79 }80 81 61 bool PluginProcessProxy::scanPlugin(const String& pluginPath, RawPluginMetaData& result) 82 62 { … … 93 73 char* stdOut = 0; 94 74 75 // If the disposition of SIGCLD signal is set to SIG_IGN (default) 76 // then the signal will be ignored and g_spawn_sync() will not be 77 // able to return the status. 78 // As a consequence, we make sure that the disposition is set to 79 // SIG_DFL before calling g_spawn_sync(). 80 struct sigaction action; 81 sigaction(SIGCLD, 0, &action); 82 if (action.sa_handler == SIG_IGN) { 83 action.sa_handler = SIG_DFL; 84 sigaction(SIGCLD, &action, 0); 85 } 95 86 96 if (! spawnProcessSync(argv, &stdOut, 0, &status))87 if (!g_spawn_sync(0, argv, 0, G_SPAWN_STDERR_TO_DEV_NULL, 0, 0, &stdOut, 0, &status, 0)) 97 88 return false; 98 89
Note: See TracChangeset
for help on using the changeset viewer.