wofi: fix segfaults under musl

Closes: #25347 [via git-merge-pr]
This commit is contained in:
Juan 2020-10-04 18:41:22 -03:00 committed by Érico Rolim
parent d213f1b0a3
commit 7f3db3964f
2 changed files with 31 additions and 1 deletions

View file

@ -0,0 +1,30 @@
# 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;

View file

@ -1,7 +1,7 @@
# Template file for 'wofi'
pkgname=wofi
version=1.2.2
revision=1
revision=2
wrksrc="${pkgname}-v${version}"
build_style=meson
hostmakedepends="pkg-config"