Fix freeze on shutdown: change uid to user after getting seat permission

This commit is contained in:
dec05eba
2024-11-25 02:55:25 +01:00
parent 7d19afc0ab
commit 9467abb0a2

View File

@@ -197,6 +197,7 @@ static bool mapper_refresh_keymap(key_mapper *mapper) {
} }
int main(void) { int main(void) {
const uid_t user_id = getuid();
if(geteuid() != 0) { if(geteuid() != 0) {
if(setuid(0) == -1) { if(setuid(0) == -1) {
fprintf(stderr, "error: failed to change user to root\n"); fprintf(stderr, "error: failed to change user to root\n");
@@ -233,6 +234,8 @@ int main(void) {
return 1; return 1;
} }
setuid(user_id);
if(run_mainloop(libinput, &mapper) < 0) { if(run_mainloop(libinput, &mapper) < 0) {
fprintf(stderr, "error: failed to start main loop\n"); fprintf(stderr, "error: failed to start main loop\n");
return 1; return 1;