public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
* invalid page fault when using LoadLibrary/FreeLibrary
@ 1999-11-06 10:37 Todd Owen
  0 siblings, 0 replies; 3+ messages in thread
From: Todd Owen @ 1999-11-06 10:37 UTC (permalink / raw)
  To: pthreads-win32

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.


^ permalink raw reply	[flat|nested] 3+ messages in thread
* RE: invalid page fault when using LoadLibrary/FreeLibrary
@ 1999-11-09  5:29 Bossom, John
  1999-11-09  6:17 ` Todd Owen
  0 siblings, 1 reply; 3+ messages in thread
From: Bossom, John @ 1999-11-09  5:29 UTC (permalink / raw)
  To: 'Todd Owen', pthreads-win32

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1999-11-09  6:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-11-06 10:37 invalid page fault when using LoadLibrary/FreeLibrary Todd Owen
1999-11-09  5:29 Bossom, John
1999-11-09  6:17 ` Todd Owen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).