# HG changeset patch # User Scoopta # 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 --- a/src/wofi.c +++ b/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;