aboutsummaryrefslogtreecommitdiff
path: root/src/lib_package.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-11-27 11:45:55 +0100
committerMike Pall <mike>2011-11-27 11:45:55 +0100
commit0a31c6373cbedce3c1d97d22e1db47755f834aba (patch)
tree7b0c10e1bb5a074f1e8d08ec528302e077c986de /src/lib_package.c
parente3c7476533c892ab1ac24dea45efb4204b15c577 (diff)
downloadluajit-0a31c6373cbedce3c1d97d22e1db47755f834aba.tar.gz
luajit-0a31c6373cbedce3c1d97d22e1db47755f834aba.tar.bz2
luajit-0a31c6373cbedce3c1d97d22e1db47755f834aba.zip
Don't increment module reference counts due to symbol resolving.
Diffstat (limited to 'src/lib_package.c')
-rw-r--r--src/lib_package.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib_package.c b/src/lib_package.c
index 3ee9f77a..a13c45ba 100644
--- a/src/lib_package.c
+++ b/src/lib_package.c
@@ -75,6 +75,7 @@ static const char *ll_bcsym(void *lib, const char *sym)
75 75
76#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 76#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
77#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4 77#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4
78#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 2
78BOOL WINAPI GetModuleHandleExA(DWORD, LPCSTR, HMODULE*); 79BOOL WINAPI GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
79#endif 80#endif
80 81
@@ -132,7 +133,7 @@ static const char *ll_bcsym(void *lib, const char *sym)
132 } else { 133 } else {
133 HINSTANCE h = GetModuleHandleA(NULL); 134 HINSTANCE h = GetModuleHandleA(NULL);
134 const char *p = (const char *)GetProcAddress(h, sym); 135 const char *p = (const char *)GetProcAddress(h, sym);
135 if (p == NULL && GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, 136 if (p == NULL && GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
136 (const char *)ll_bcsym, &h)) 137 (const char *)ll_bcsym, &h))
137 p = (const char *)GetProcAddress(h, sym); 138 p = (const char *)GetProcAddress(h, sym);
138 return p; 139 return p;