This is the mail archive of the
pthreads-win32@sourceware.cygnus.com
mailing list for the pthreas-win32 project.
invalid page fault when using LoadLibrary/FreeLibrary
- To: pthreads-win32 at sourceware dot cygnus dot com
- Subject: invalid page fault when using LoadLibrary/FreeLibrary
- From: Todd Owen <towen at lucidcalm dot dropbear dot id dot au>
- Date: Sun, 7 Nov 1999 02:30:49 +0800 (WST)
- Reply-To: Todd Owen <towen at lucidcalm dot dropbear dot id dot au>
hi,
for me, pthread.dll consistently causes an "invalid page fault in
kernel32.dll" when I load it "explicitly"...to be precise, loading (with
LoadLibrary) isn't a problem, it gives the error when I call FreeLibrary.
I guess that the dll's cleanup must be causing the error.
Implicit linkage of the dll has never given me this problem. Here's a
program (console application) that gives me the error:
#include <windows.h>
int main() {
HINSTANCE hinst;
hinst = LoadLibrary("pthread");
printf("hinst == %d\n", hinst);
printf("press a key to keel over...\n");
getch();
FreeLibrary(hinst);
return 0;
}
I compile with: mingw32 (gcc-2.95 release), with the MSVCRT add-on (not
that the compiler should make much difference in this case).
PTHREAD.DLL: is the precompiled 1999-11-02 one (I tried an older one as
well, with the same result).
Fascinatingly, if you have your own dll (mycode.dll) which implicitly
loads pthread.dll, and then do LoadLibrary/FreeLibrary on _this_ dll, the
same thing happens.
Sorry, but I have no idea how to fix the problem. It's taken me long
enough to track it down this far.
Todd.