X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fsighandler.c;h=ceaa4842286ec14f27567fdf56c29188853719f9;hb=05fb9096362e788f032de6eccea2d7fea03317ab;hp=8b5bfed4c015745390dd4a645645dfc87b4619d4;hpb=c937f768f92b74dfa662b174cf6e6fc6f4871234;p=i3%2Fi3 diff --git a/src/sighandler.c b/src/sighandler.c index 8b5bfed4..ceaa4842 100644 --- a/src/sighandler.c +++ b/src/sighandler.c @@ -4,8 +4,8 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) - * © 2009-2010 Jan-Erik Rediger + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Jan-Erik Rediger * * sighandler.c: Interactive crash dialog upon SIGSEGV/SIGABRT/SIGFPE (offers * to restart inplace). @@ -70,8 +70,14 @@ static int backtrace(void) { int stdin_pipe[2], stdout_pipe[2]; - pipe(stdin_pipe); - pipe(stdout_pipe); + if (pipe(stdin_pipe) == -1) { + ELOG("Failed to init stdin_pipe\n"); + return -1; + } + if (pipe(stdout_pipe) == -1) { + ELOG("Failed to init stdout_pipe\n"); + return -1; + } /* close standard streams in case i3 is started from a terminal; gdb * needs to run without controlling terminal for it to work properly in @@ -129,9 +135,9 @@ static int sig_draw_window(xcb_window_t win, int width, int height, int font_hei /* re-draw the background */ xcb_rectangle_t border = {0, 0, width, height}, inner = {2, 2, width - 4, height - 4}; - xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]) {get_colorpixel("#FF0000")}); + xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]){get_colorpixel("#FF0000")}); xcb_poly_fill_rectangle(conn, pixmap, pixmap_gc, 1, &border); - xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]) {get_colorpixel("#000000")}); + xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]){get_colorpixel("#000000")}); xcb_poly_fill_rectangle(conn, pixmap, pixmap_gc, 1, &inner); /* restore font color */ @@ -321,5 +327,5 @@ void setup_signal_handler(void) { sigaction(SIGABRT, &action, NULL) == -1 || sigaction(SIGFPE, &action, NULL) == -1 || sigaction(SIGSEGV, &action, NULL) == -1) - ELOG("Could not setup signal handler"); + ELOG("Could not setup signal handler.\n"); }