@ -1,6 +1,7 @@
# define _POSIX_C_SOURCE 200809L
# define _POSIX_C_SOURCE 200809L
# include <assert.h>
# include <assert.h>
# include <errno.h>
# include <errno.h>
# include <fcntl.h>
# include <getopt.h>
# include <getopt.h>
# include <pthread.h>
# include <pthread.h>
# include <signal.h>
# include <signal.h>
@ -104,9 +105,21 @@ static void acquire_sleep_lock(void) {
if ( ret < 0 ) {
if ( ret < 0 ) {
wlr_log ( WLR_ERROR , " Failed to parse D-Bus response for Inhibit: %s " ,
wlr_log ( WLR_ERROR , " Failed to parse D-Bus response for Inhibit: %s " ,
strerror ( - ret ) ) ;
strerror ( - ret ) ) ;
sd_bus_error_free ( & error ) ;
sd_bus_message_unref ( msg ) ;
return ;
} else {
} else {
wlr_log ( WLR_INFO , " Got sleep lock: %d " , lock_fd ) ;
wlr_log ( WLR_INFO , " Got sleep lock: %d " , lock_fd ) ;
}
}
// sd_bus_message_unref closes the file descriptor so we need
// to copy it beforehand
lock_fd = fcntl ( lock_fd , F_DUPFD_CLOEXEC , 3 ) ;
if ( lock_fd < 0 ) {
wlr_log ( WLR_ERROR , " Failed to copy sleep lock fd: %s " ,
strerror ( errno ) ) ;
}
sd_bus_error_free ( & error ) ;
sd_bus_error_free ( & error ) ;
sd_bus_message_unref ( msg ) ;
sd_bus_message_unref ( msg ) ;
}
}