This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: Initialising gnuwin DLLs
- To: Matthew Brett <mbrett at wren dot rpms dot ac dot uk>
- Subject: Re: Initialising gnuwin DLLs
- From: "Patrick J. Fay" <pfay at acl dot lanl dot gov>
- Date: Thu, 29 Jan 1998 23:44:51 -0700 (MST)
- cc: gnu-win32 at cygnus dot com, juerg dot tschirren at isbe dot ch, r_urbin1 at ridgecrest dot ca dot us, tvoverbe at wk dot estec dot esa dot nl
Hello Matthew,
I'm just guessing but it sounds like you are running into things that
are not thread-safe. You can allow on one thread into a code section
at a time with:
#include <stdio.h>
#include <windows.h>
CRITICAL_SECTION cs;
int main()
{
int i;
InitializeCriticalSection (&cs);
EnterCriticalSection (&cs);
printf("hello\n");
LeaveCriticalSection (&cs);
DeleteCriticalSection (&cs);
return 0;
}
My guess is that, say, thread 1's printf calls malloc while
another thread is in malloc. What happens? who knows.
Pat
On Wed, 28 Jan 1998, Matthew Brett wrote:
> Dear All,
>
> >From some recent messages, it looks as though several of us are having
> difficulty using gnuwin DLLs with other software (such as VC++, matlab).
> Even something as innocent as a printf() command in the DLL causes
> a memory access crash, with errors like:
>
> The instruction at 0x1000c4ec referenced memory at 0x00000058
>
> It's the same with many other functions: any file access function, malloc,
> pid, to name a random selection. However, although malloc() causes a
> crash, LocalAlloc does not. I / we were wondering whether this was a DLL
> initialisation problem, and whether anyone knows how to initialise a
> gnuwin DLL properly for use by non-gnuwin apps.
>
> Thanks for any help to the lost,
>
> Matthew Brett
>
> -
> For help on using this list (especially unsubscribing), send a message to
> "gnu-win32-request@cygnus.com" with one line of text: "help".
>
Patrick Fay, Ph.D., Intel Corp. email: pfay@co.intel.com
Los Alamos National Lab wk: (505) 665-9141
CTI M.S. B296 fax: (505) 667-5921
Los Alamos NM 87545 ASCI-RED http://www.acl.lanl.gov/~pfay/teraflop
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".