fix: invite не затирает имя узла, имя читается из member_sync peers.userinfo

- conn_mgr_core.c: убрана запись node_name из cm_handle_invite_info_resp
- topo_node_sqlite.c: name в nodes не перезаписывается пустой строкой
- android_jni_bridge.c: bridge_get_node_name читает peers_<ch>.userinfo если nodes.name пуст
This commit is contained in:
evgeny committed 2026-08-03 18:50:11 +03:00
1 parent 253129cb27
commit e1e54df4f4
14 files changed
+234 -125

No files matched your search

+12
View File
@@ -1334,6 +1334,7 @@ struct UASYNC* uasync_create(void) {
ua->immediate_queue_head = NULL;
ua->immediate_queue_tail = NULL;
ua->last_poll_exit_us = 0;
ua->running = 0;
DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "Creating SA...");
ua->sockets = socket_array_create(16);
@@ -1547,8 +1548,19 @@ void uasync_print_resources(struct UASYNC* ua, const char* prefix) {
// Modified function in u_async.c: uasync_destroy
// Changes: Close wakeup sockets properly on Windows.
void uasync_mark_running(struct UASYNC* ua) {
if (!ua) return;
__atomic_store_n(&ua->running, 1, __ATOMIC_RELEASE);
}
void uasync_mark_stopped(struct UASYNC* ua) {
if (!ua) return;
__atomic_store_n(&ua->running, 0, __ATOMIC_RELEASE);
}
void uasync_destroy(struct UASYNC* ua, int close_fds) {
if (!ua) return;
ua->running = 0;
DEBUG_DEBUG(DEBUG_CATEGORY_TIMERS, "uasync_destroy: starting cleanup for ua=%p", ua);
+8
View File
@@ -75,6 +75,7 @@ struct UASYNC {
pthread_mutex_t posted_lock;
#endif
volatile sig_atomic_t stop;
volatile sig_atomic_t running; // 0=shutdown mode (API rejected), 1=full init done
uint64_t last_poll_exit_us;
};
@@ -82,9 +83,16 @@ struct UASYNC {
typedef struct UASYNC uasync_t;
typedef struct UASYNC UASYNC_t;
static inline int uasync_is_running(struct UASYNC* ua) {
if (!ua) return 0;
return __atomic_load_n(&ua->running, __ATOMIC_ACQUIRE);
}
// Instance API - основной API для работы с uasync
struct UASYNC* uasync_create(void);
void uasync_destroy(struct UASYNC* ua, int close_fds);
void uasync_mark_running(struct UASYNC* ua);
void uasync_mark_stopped(struct UASYNC* ua);
// текущее время (timebase 0.1ms)
uint64_t get_time_tb(void);