[PATCH weston] compositor: return failure even if SEGV handler works
Pekka Paalanen
ppaalanen at gmail.com
Thu Jun 7 04:32:45 PDT 2012
Weston has a SIGSEGV handler that attempts to shut everything down
cleanly. If it actually succeeds in that, the process exit status will
indicate success, when the process just segfaulted.
Fix that by setting the return value to failure in the SEGV handler.
Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
---
src/compositor.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index 3039c3d..c073d79 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -51,6 +51,7 @@
static struct wl_list child_process_list;
static jmp_buf segv_jmp_buf;
+static int weston_return_value = EXIT_SUCCESS;
static int
sigchld_handler(int signal_number, void *data)
@@ -3044,6 +3045,7 @@ on_segv_signal(int s, siginfo_t *siginfo, void *context)
int i, count;
Dl_info info;
+ weston_return_value = EXIT_FAILURE;
fprintf(stderr, "caught segv\n");
count = backtrace(buffer, ARRAY_LENGTH(buffer));
@@ -3240,5 +3242,5 @@ int main(int argc, char *argv[])
ec->destroy(ec);
wl_display_destroy(display);
- return 0;
+ return weston_return_value;
}
--
1.7.3.4
More information about the wayland-devel
mailing list