Fix duplicated destroy shared memory's lock issue (#514)

And add native symbol node to list head when registering native symbol, so as to lookup developer's registered node firstly when linking.

Signed-off-by: Wenyong Huang <wenyong.huang@intel.com>
This commit is contained in:
Wenyong Huang
2021-02-06 21:05:48 -06:00
committed by GitHub
parent 5947ea492d
commit 1630cb2524
2 changed files with 5 additions and 11 deletions

View File

@ -21,7 +21,6 @@
#endif
static NativeSymbolsList g_native_symbols_list = NULL;
static NativeSymbolsList g_native_symbols_list_end = NULL;
uint32
get_libc_builtin_export_apis(NativeSymbol **p_libc_builtin_apis);
@ -287,15 +286,10 @@ register_natives(const char *module_name,
node->native_symbols = native_symbols;
node->n_native_symbols = n_native_symbols;
node->call_conv_raw = call_conv_raw;
node->next = NULL;
if (g_native_symbols_list_end) {
g_native_symbols_list_end->next = node;
g_native_symbols_list_end = node;
}
else {
g_native_symbols_list = g_native_symbols_list_end = node;
}
/* Add to list head */
node->next = g_native_symbols_list;
g_native_symbols_list = node;
#if ENABLE_SORT_DEBUG != 0
gettimeofday(&start, NULL);
@ -417,5 +411,5 @@ wasm_native_destroy()
node = node_next;
}
g_native_symbols_list = g_native_symbols_list_end = NULL;
g_native_symbols_list = NULL;
}