Clarify that repeated core start preserves the application running flag
This commit is contained in:
1 parent
8640b45e99
commit
435ca204fe
2 files changed
+5
-4
No files matched your search
+2
-2
@@ -315,8 +315,8 @@ struct UTUN_INSTANCE* utun_instance_create_from_str(struct UASYNC* ua, const cha
|
||||
* Выполняет drain отложенных callbacks и join media workers; вызывать вне callbacks и без параллельных обращений.
|
||||
* Заимствованные SQLite statements/backup должны быть закрыты caller; BUSY логируется и переводится в close_v2. */
|
||||
void utun_instance_destroy(struct UTUN_INSTANCE* instance);
|
||||
/* Запустить репликацию, NCD/keepalive, [client], control и время; без вступления в группы. Успех: running=core_started=1.
|
||||
* Повтор успешного start — 0. Ошибка — -1; уже подготовленные ресурсы остаются для retry/destroy.
|
||||
/* Запустить репликацию, NCD/keepalive, [client], control и время; без вступления в группы. Первый успех: running=core_started=1.
|
||||
* При core_started возвращает 0 без изменения running. Ошибка — -1; подготовленные ресурсы остаются для retry/destroy.
|
||||
* Отказ NTP/STUN не фатален. NULL/разрушаемый instance отклоняется. */
|
||||
int utun_core_start(struct UTUN_INSTANCE* instance);
|
||||
/* Запустить UTUN-группу, TUN/NAT по конфигу и отдельные запросы к [client]. Нужны core_start и топология.
|
||||
|
||||
@@ -28,7 +28,8 @@ uasync_destroy(ua, 0);
|
||||
|
||||
Цикл запускает приложение; функции `utun_instance_run` нет.
|
||||
`utun_instance_stop` только снимает `running` и вызывает wakeup. Это не stop сервисов.
|
||||
При общем UASYNC решение о продолжении poll принимает его владелец.
|
||||
Повторный core_start при уже установленном core_started не поднимает running после stop.
|
||||
Решение о продолжении poll принимает владелец UASYNC, в том числе при нескольких instance.
|
||||
|
||||
## Конструкторы
|
||||
|
||||
@@ -60,7 +61,7 @@ create. Недоступность ICMP raw socket по правам/подде
|
||||
|
||||
| API | Ресурсы и результат |
|
||||
|---|---|
|
||||
| `utun_core_start` | db_sync, NCD/keepalive, постоянные транспорты `[client]`, control, время, broadcast/radio и STUN. Успех задаёт `core_started=running=1` |
|
||||
| `utun_core_start` | db_sync, NCD/keepalive, постоянные транспорты `[client]`, control, время, broadcast/radio и STUN. Первый успех задаёт `core_started=running=1` |
|
||||
| `utun_service_start` | Требует core и топологию. Создаёт UTUN-группу, DATA binding, опциональные TUN/маршруты/NAT и отдельные групповые запросы к `[client]` |
|
||||
| `chat_service_start` | Объявлен в chat_core.h. Требует core и SQLite. Поднимает CHAT-синхронизацию, stream/media/DM/member_files/call/radio-call, headless и LAN |
|
||||
| `utun_instance_init` | Последовательно core, затем UTUN при наличии топологии, затем чат при `chatserver_enabled` |
|
||||
|
||||
Reference in new issue
Block a user