summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorMikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-02-26 09:08:05 +0100
committerMikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-02-26 09:42:21 +0100
commit77d8c171d7c29dc965f0f73a342e9b8465680b65 (patch)
tree4a535350847ba8c3109f8449e3da2b65329446b8 /main.c
parent0bd3c1a89ad73ce46a4bfe9b9676ddae0d23c603 (diff)
downloadswaybg-77d8c171d7c29dc965f0f73a342e9b8465680b65.tar.gz
swaybg-77d8c171d7c29dc965f0f73a342e9b8465680b65.tar.bz2
Correctly exit sway on errors.
Calling `exit` in sway_terminate prevents sway from correctly shutting down (freeing data, cleanly terminating the ipc server, etc.). A better way is to exit straight away if the failure occurs before `wlc_run` and use sway_abort as usual if it occur when wlc is running.
Diffstat (limited to 'main.c')
-rw-r--r--main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/main.c b/main.c
index b936be2..fbd0d16 100644
--- a/main.c
+++ b/main.c
@@ -21,7 +21,7 @@ enum scaling_mode {
SCALING_MODE_TILE,
};
-void sway_terminate(void) {
+void sway_terminate(int exit_code) {
int i;
for (i = 0; i < surfaces->length; ++i) {
struct window *window = surfaces->items[i];
@@ -29,7 +29,7 @@ void sway_terminate(void) {
}
list_free(surfaces);
registry_teardown(registry);
- exit(EXIT_FAILURE);
+ exit(exit_code);
}
int main(int argc, const char **argv) {