projects
/
platform
/
upstream
/
weston.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c30c4bd
)
weston-launch: Unblock our signalfd signals before execing child
author
Kristian Høgsberg
<krh@bitplanet.net>
Tue, 30 Jul 2013 16:45:04 +0000
(09:45 -0700)
committer
Kristian Høgsberg
<krh@bitplanet.net>
Tue, 30 Jul 2013 16:45:04 +0000
(09:45 -0700)
Giovanni Campagna ran into this with mutter.
src/weston-launch.c
patch
|
blob
|
history
diff --git
a/src/weston-launch.c
b/src/weston-launch.c
index
8d8a903
..
e2d2d32
100644
(file)
--- a/
src/weston-launch.c
+++ b/
src/weston-launch.c
@@
-542,6
+542,7
@@
static void
launch_compositor(struct weston_launch *wl, int argc, char *argv[])
{
char *child_argv[MAX_ARGV_SIZE];
+ sigset_t allsigs;
int i;
if (wl->verbose)
@@
-556,6
+557,13
@@
launch_compositor(struct weston_launch *wl, int argc, char *argv[])
unsetenv("DISPLAY");
+ /* Do not give our signal mask to the new process. */
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGTERM);
+ sigaddset(&mask, SIGCHLD);
+ sigaddset(&mask, SIGINT);
+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
+
child_argv[0] = wl->pw->pw_shell;
child_argv[1] = "-l";
child_argv[2] = "-c";