1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
--- a/a/nss/lib/freebl/loader.c
+++ a/a/nss/lib/freebl/loader.c
@@ -114,6 +114,7 @@
#include "genload.c"
+extern FREEBLGetVectorFn FREEBL_GetVector;
/* This function must be run only once. */
/* determine if hybrid platform, then actually load the DSO. */
static PRStatus
@@ -136,9 +136,9 @@
return PR_FAILURE;
}
- handle = loader_LoadLibrary(name);
- if (handle) {
- PRFuncPtr address = PR_FindFunctionSymbol(handle, "FREEBL_GetVector");
+ handle = 0;
+ {
+ PRFuncPtr address = FREEBL_GetVector;
if (address) {
FREEBLGetVectorFn *getVector = (FREEBLGetVectorFn *)address;
const FREEBLVector *dsoVector = getVector();
@@ -887,6 +887,7 @@
void
BL_Unload(void)
{
+#if 0
/* This function is not thread-safe, but doesn't need to be, because it is
* only called from functions that are also defined as not thread-safe,
* namely C_Finalize in softoken, and the SSL bypass shutdown callback called
@@ -905,6 +905,7 @@
}
blLib = NULL;
loadFreeBLOnce = pristineCallOnce;
+#endif
}
/* ============== New for 3.003 =============================== */
|