summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2019-01-07 13:34:04 +0100
committerLibravatar GitHub <noreply@github.com>2019-01-07 13:34:04 +0100
commitbd59602711b7a68ee996539b267b379b7518766c (patch)
tree44afae9eb5b4f830b306cf69c850c5f1aaa91998
parentMerge pull request #3378 from jbeich/master (diff)
parentswayidle: Fix sleep inhibitor not being acquired (diff)
downloadsway-bd59602711b7a68ee996539b267b379b7518766c.tar.gz
sway-bd59602711b7a68ee996539b267b379b7518766c.tar.zst
sway-bd59602711b7a68ee996539b267b379b7518766c.zip
Merge pull request #3381 from oscarwcl/swayidle-inhibit-sleep
swayidle: Fix sleep inhibitor not being acquired
-rw-r--r--swayidle/main.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/swayidle/main.c b/swayidle/main.c
index 9a76e58c..41eecc41 100644
--- a/swayidle/main.c
+++ b/swayidle/main.c
@@ -1,6 +1,7 @@
1#define _POSIX_C_SOURCE 200809L 1#define _POSIX_C_SOURCE 200809L
2#include <assert.h> 2#include <assert.h>
3#include <errno.h> 3#include <errno.h>
4#include <fcntl.h>
4#include <getopt.h> 5#include <getopt.h>
5#include <pthread.h> 6#include <pthread.h>
6#include <signal.h> 7#include <signal.h>
@@ -104,9 +105,21 @@ static void acquire_sleep_lock(void) {
104 if (ret < 0) { 105 if (ret < 0) {
105 wlr_log(WLR_ERROR, "Failed to parse D-Bus response for Inhibit: %s", 106 wlr_log(WLR_ERROR, "Failed to parse D-Bus response for Inhibit: %s",
106 strerror(-ret)); 107 strerror(-ret));
108 sd_bus_error_free(&error);
109 sd_bus_message_unref(msg);
110 return;
107 } else { 111 } else {
108 wlr_log(WLR_INFO, "Got sleep lock: %d", lock_fd); 112 wlr_log(WLR_INFO, "Got sleep lock: %d", lock_fd);
109 } 113 }
114
115 // sd_bus_message_unref closes the file descriptor so we need
116 // to copy it beforehand
117 lock_fd = fcntl(lock_fd, F_DUPFD_CLOEXEC, 3);
118 if (lock_fd < 0) {
119 wlr_log(WLR_ERROR, "Failed to copy sleep lock fd: %s",
120 strerror(errno));
121 }
122
110 sd_bus_error_free(&error); 123 sd_bus_error_free(&error);
111 sd_bus_message_unref(msg); 124 sd_bus_message_unref(msg);
112} 125}