void-packages/srcpkgs/wofi/patches/fix-mode-thread.patch

31 lines
806 B
Diff

# HG changeset patch
# User Scoopta <scoopta@scoopta.email>
# Date 1601697276 25200
# Fri Oct 02 20:54:36 2020 -0700
# Node ID 8a4a5e29ca9c1fb0a11ed9b329d275f5c02154a6
# Parent ac8dc17ab751b13b6d4ddcc1a1467e4beb8d7d26
The mode thread will not be joined multiple times as this causes segfaults under musl
--- src/wofi.c
+++ src/wofi.c
@@ -103,6 +103,7 @@
static bool dynamic_lines;
static struct wl_list mode_list;
static pthread_t mode_thread;
+static bool has_joined_mode = false;
static struct map* keys;
@@ -596,7 +597,10 @@
}
static gboolean insert_all_widgets(gpointer data) {
- pthread_join(mode_thread, NULL);
+ if(!has_joined_mode) {
+ pthread_join(mode_thread, NULL);
+ has_joined_mode = true;
+ }
struct wl_list* modes = data;
if(modes->prev == modes) {
return FALSE;