aboutsummaryrefslogtreecommitdiff
path: root/dbus
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-05-11 18:38:55 +0200
committerdec05eba <dec05eba@protonmail.com>2025-05-11 18:39:13 +0200
commit2a0fb9f449bc045295ece44ac5f0b9a9ad20c830 (patch)
treeceb481934796737826d496149db466082ef5190e /dbus
parent73fd0a30cd328f2a672e253084505dfa571643ed (diff)
cap_sys_nice fix for nixosHEAD5.5.3master
Diffstat (limited to 'dbus')
-rw-r--r--dbus/client/dbus_client.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/dbus/client/dbus_client.c b/dbus/client/dbus_client.c
index 2fc9511..31f4158 100644
--- a/dbus/client/dbus_client.c
+++ b/dbus/client/dbus_client.c
@@ -3,6 +3,7 @@
#include <sys/socket.h>
#include <sys/wait.h>
+#include <sys/prctl.h>
#include <unistd.h>
#include <poll.h>
@@ -66,6 +67,9 @@ bool gsr_dbus_client_init(gsr_dbus_client *self, const char *screencast_restore_
char socket_pair_server_str[32];
snprintf(socket_pair_server_str, sizeof(socket_pair_server_str), "%d", self->socket_pair[1]);
+ /* Needed for NixOS for example, to make sure gsr-dbus-server doesn't inherit cap_sys_nice */
+ prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_CLEAR_ALL, 0, 0, 0);
+
const char *args[] = { "gsr-dbus-server", socket_pair_server_str, self->screencast_restore_token ? self->screencast_restore_token : "", NULL };
execvp(args[0], (char *const*)args);