Compare commits

...

3 Commits

Author SHA1 Message Date
Sravan Balaji
d8b91c7e8b Add window rule for heroic games launcher 2024-08-13 18:24:06 -04:00
Sravan Balaji
d0f7c11925 Merge remote-tracking branch 'upstream/master' 2024-08-06 15:29:09 -04:00
bakkeby
36cbcf53a2 IPC: do not bail on events from unknown file descriptors ref. #433
The natural cycle for dwm-msg is that:
   - the client registers
   - the client sends a message
   - a response is sent back
   - the client deregisters

There is a race condition such that a new client may end up with the same
file descriptor as another command that is deregistering, resulting in a
message to come through from a file descriptor that is not registered.

The handling of this situation is that the IPC patch will log:

   Got event from unknown fd 7, ptr 0x7, u32 7, u64 7 with events 17

before gracefully stopping (exiting) dwm.

The consequence of the error itself seems benign and the proposal here is
to allow dwm to keep running despite not being able to process the dwm-msg
command successfully.
2024-08-01 14:56:48 +02:00
3 changed files with 2 additions and 1 deletions

View File

@@ -4401,6 +4401,7 @@ static const Rule rules[] = {
RULE(.class = "PrismLauncher", .tags = 1 << 7)
RULE(.class = "antimicrox", .tags = 1 << 7)
RULE(.class = "ProtonUp-Qt", .tags = 1 << 7)
RULE(.class = "heroic", .tags = 1 << 7)
RULE(.class = "Thunar", .tags = 1 << 8)
RULE(.class = "Syncthing GTK", .tags = 1 << 8)
RULE(.class = "Nyrna", .tags = 1 << 8)

View File

@@ -521,6 +521,7 @@ static const Rule rules[] = {
RULE(.class = "PrismLauncher", .tags = 1 << 7)
RULE(.class = "antimicrox", .tags = 1 << 7)
RULE(.class = "ProtonUp-Qt", .tags = 1 << 7)
RULE(.class = "heroic", .tags = 1 << 7)
RULE(.class = "Thunar", .tags = 1 << 8)
RULE(.class = "Syncthing GTK", .tags = 1 << 8)
RULE(.class = "Nyrna", .tags = 1 << 8)

1
dwm.c
View File

@@ -3313,7 +3313,6 @@ run(void)
event_fd, events[i].data.ptr, events[i].data.u32,
events[i].data.u64);
fprintf(stderr, " with events %d\n", events[i].events);
return;
}
}
}