gri3-wm/src
Daniel Mueller 3e34122de4 Perform proper cleanup for signals with 'Term' action (#3057)
Issue #3049 describes a case where terminating i3 by means of SIGTERM
causes it to leak the runtime directory and all its contents. There are
multiple issues at play: first, any cleanup handlers registered via
atexit are never invoked when a signal terminates the program (see
atexit(3)). Hence, the log SHM log cleanup performed in i3_exit is not
invoked in that case. Second, compared to the shutdown path for the
'exit' command, we do not unlink the UNIX domain socket we create,
causing it to be leaked as well. Third, a handler for SIGTERM is not
registered at all despite handle_signal claiming to be the handler for
all 'Term' signals.
This change addresses all three problems and results in a graceful exit
including cleanup to happen when we receive a signal with the default
action 'Term'. It addresses issue #3049.
2017-11-28 23:29:47 -08:00
..
assignments.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
bindings.c Correct remaining string length for fill_rmlvo_from_root 2017-09-25 04:43:00 +03:00
click.c Raise floating window to top when it gets focus 2017-09-23 02:41:58 +03:00
commands.c Add support to resize floating container in percentage 2017-10-18 02:07:11 +03:00
commands_parser.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
con.c Default to L_SPLITH with toggle split when last_split_layout hasn't been initialized 2017-10-14 12:27:56 +03:00
config.c Merge "force_focus_wrapping" option into "focus_wrapping force" 2017-09-25 18:58:12 +00:00
config_directives.c Merge pull request #2953 from CyberShadow/focus_wrapping 2017-09-27 09:31:39 -07:00
config_parser.c Fix compilation warnings on all Debian architectures. (#3007) 2017-09-30 10:16:21 -07:00
display_version.c no-op refactoring: make ipc_connect find socket path 2017-11-26 16:41:59 +01:00
ewmh.c Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
fake_outputs.c fake_outputs: Allow designating a fake output as primary 2017-09-19 14:57:08 +00:00
floating.c Move XCB event handling into xcb_prepare_cb. 2017-10-23 21:06:13 +02:00
handlers.c skip ConfigureNotify events with --force_xinerama 2017-10-23 21:04:20 +02:00
ipc.c Implement the tick event 2017-09-30 11:41:57 +02:00
key_press.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
load_layout.c validate JSON before loading 2017-09-13 17:41:05 +02:00
log.c Report error during error log creation (#2625) 2017-01-10 09:29:06 +01:00
main.c Perform proper cleanup for signals with 'Term' action (#3057) 2017-11-28 23:29:47 -08:00
manage.c Allow assign to output 2017-09-17 15:37:17 +03:00
match.c Implement 'swap' command. 2017-05-15 21:06:38 +02:00
move.c Fix erratic behavior with single container child jumping outputs 2017-09-15 09:27:32 +00:00
output.c Store output names as a linked list 2017-09-13 08:23:24 +00:00
randr.c Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
regex.c Fix memleak: free regex when parsing fails 2017-08-28 09:22:56 +02:00
render.c Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
resize.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
restore_layout.c Move XCB event handling into xcb_prepare_cb. 2017-10-23 21:06:13 +02:00
scratchpad.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
sd-daemon.c Always use socket activation 2016-06-11 14:47:23 +02:00
sighandler.c Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
startup.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
tree.c Use con_descend_focused for workspaces in _tree_next 2017-09-28 16:48:50 +03:00
util.c Fix compilation warnings on all Debian architectures. (#3007) 2017-09-30 10:16:21 -07:00
version.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
window.c Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
workspace.c Introduce output_primary_name function 2017-09-13 08:22:57 +00:00
x.c shmlog: remote atom when disabled 2017-11-26 18:07:13 +01:00
xcb.c add error check and log for xcb_create_window 2017-05-12 09:01:37 +02:00
xcursor.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
xinerama.c Store output names as a linked list 2017-09-13 08:23:24 +00:00