From a43ee250338c226bd43b3a551647fc174ae35453 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Tue, 10 Mar 2020 09:24:00 -0700 Subject: [PATCH] display race condition fix - release --- components/squeezelite/display.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/squeezelite/display.c b/components/squeezelite/display.c index 544bdf13..173f2c09 100644 --- a/components/squeezelite/display.c +++ b/components/squeezelite/display.c @@ -331,10 +331,15 @@ static void send_server(void) { */ static void server(in_addr_t ip, u16_t hport, u16_t cport) { char msg[32]; + + xSemaphoreTake(displayer.mutex, portMAX_DELAY); + sprintf(msg, "%s:%hu", inet_ntoa(ip), hport); if (displayer.owned) GDS_TextPos(display, GDS_FONT_DEFAULT, GDS_TEXT_CENTERED, GDS_TEXT_CLEAR | GDS_TEXT_UPDATE, msg); SETD_width = displayer.width; - displayer.dirty = true; + + xSemaphoreGive(displayer.mutex); + if (notify_chain) (*notify_chain)(ip, hport, cport); }