aboutsummaryrefslogtreecommitdiffstats
path: root/sway/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/main.c')
-rw-r--r--sway/main.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sway/main.c b/sway/main.c
index 6e3f6b67..6e2f16db 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -31,10 +31,16 @@ static int exit_value = 0;
31struct sway_server server = {0}; 31struct sway_server server = {0};
32 32
33void sway_terminate(int exit_code) { 33void sway_terminate(int exit_code) {
34 terminate_request = true; 34 if (!server.wl_display) {
35 exit_value = exit_code; 35 // Running as IPC client
36 ipc_event_shutdown("exit"); 36 exit(exit_code);
37 wl_display_terminate(server.wl_display); 37 } else {
38 // Running as server
39 terminate_request = true;
40 exit_value = exit_code;
41 ipc_event_shutdown("exit");
42 wl_display_terminate(server.wl_display);
43 }
38} 44}
39 45
40void sig_handler(int signal) { 46void sig_handler(int signal) {