31 lines
806 B
Diff
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;
|