This is the mail archive of the pthreads-win32@sourceware.cygnus.com mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: invalid page fault when using LoadLibrary/FreeLibrary


Why are you dynamically loading and freeing the library?

You are circumventing the functionality of the library by
doing so.  This PThreads implementation relies on the 
functionality of DllMain. The hooks for thread cleanup, etc
are through leveraging this function. By calling FreeLibrary,
you are invalidating this functionality.

John.

-----Original Message-----
From: Todd Owen [mailto:towen@lucidcalm.dropbear.id.au]
Sent: Saturday, November 06, 1999 1:31 PM
To: pthreads-win32@sourceware.cygnus.com
Subject: invalid page fault when using LoadLibrary/FreeLibrary


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]