Explain radio settings reload and publication ordering

This commit is contained in:
evgeny committed 2026-10-27 14:12:49 +01:00
1 parent 8a96e5d1c7
commit b5063f435b
2 files changed
+3 -1

No files matched your search

+1
View File
@@ -194,6 +194,7 @@ void RadioAudioEngine::postSettings(const std::array<int, 9>& values, bool apply
}, Qt::QueuedConnection);
request->~SettingsRequest();
};
// Сначала поставить задачу: обработчик stateChanged может синхронно вызвать следующий loadSettings.
uasync_post_reserved(inst->ua, &request->task);
DEBUG_DEBUG(DEBUG_CATEGORY_RADIO, "RadioAudio: settings queued generation=%llu apply=%d",
(unsigned long long)generation, apply);
+2 -1
View File
@@ -35,7 +35,8 @@ public:
void talkEnd();
void setHotkeyTalking(bool pressed); // независимый владелец PTT — глобальная клавиатура
/* GUI-поток: начать новое поколение настроек после DB_READY или явного перечитывания конфига.
/* GUI-поток: начать новое чтение настроек из ядра, в том числе после DB_READY.
* configPath — INI для последующего applySettings; loadSettings сам файл не читает.
* Снимает прежнее ожидание, даже если ядро удалило задачу без callback; поздний результат прежнего поколения игнорируется.
* Физически уже поставленные задачи остаются в очереди ядра; новый снимок читается после них. */
void loadSettings(const QString& configPath);