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:
1 parent
253129cb27
commit
e1e54df4f4
14 files changed
+234
-125
No files matched your search
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user