From: pfay AT acl DOT lanl DOT gov (Patrick J. Fay) Subject: Re: Initialising gnuwin DLLs 30 Jan 1998 03:02:18 -0800 Message-ID: References: <199801281358 DOT NAA07920 AT magpie DOT rpms DOT ac DOT uk> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: Matthew Brett 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 #include 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 AT cygnus DOT com" with one line of text: "help". > Patrick Fay, Ph.D., Intel Corp. email: pfay AT co DOT intel DOT 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 AT cygnus DOT com" with one line of text: "help".