This is the mail archive of the
pthreads-win32@sources.redhat.com
mailing list for the pthreas-win32 project.
Re: CRT runtime error with .Net 2003
- From: "vc" <vcotirlea1 at hotmail dot com>
- To: <pthreads-win32 at sources dot redhat dot com>,"Brian Bazyk" <bnbazyk at ucdavis dot edu>
- Date: Fri, 12 Mar 2004 12:19:23 +0100
- Subject: Re: CRT runtime error with .Net 2003
- References: <200403112330.i2BNU2Oh004379@phaenicia.ucdavis.edu>
Hi Brian,
I have never tried to use pthread as a static lib, so I can't help you here.
But if you use the pthread as a dll, and if you use the /MT flag,
one of it's tests will fail, so for a dll you have to use the /MD flag.
Nevertheless, you should use for your app the same flag /MT or /MD
for _all_ the modules involved, otherwise you can get into trouble.
Viv
----- Original Message -----
From: "Brian Bazyk" <bnbazyk@ucdavis.edu>
To: <pthreads-win32@sources.redhat.com>
Sent: Friday, March 12, 2004 12:30 AM
Subject: CRT runtime error with .Net 2003
>
> Hi, I'm very new here but you seem like a helpful bunch of people. I have
> the glorious job of porting a Linux application that uses pthreads to
> Win32 .Net 2003.
>
> The app used pthreads so I'm linking statically with the pthreadsVC
> library. I'm compiling with MTd runtime's and using
> IgnoreLib:libcmtd;libmmt to deal with some redefined function issues.
>
> I'm recieving a runtime write segfault on the line:
> fprintf(stderr,"Program usage: %s <prediction file>.pred | <PDB
> file>.pdb\n",argv[0]);
>
> Debugging at the segfault gives me (_file.c):
>
> void __cdecl _lock_file (
> void *pf
> )
> {
> /*
> * The way the FILE (pointed to by pf) is locked depends on
whether
> * it is part of _iob[] or not
> */
> if ( (pf >= (void *)_iob) && (pf <= (void *)(&_iob[_IOB_ENTRIES-
> 1])) )
> /*
> * FILE lies in _iob[] so the lock lies in _locktable[].
> */
> _lock( _STREAM_LOCKS + (int)((FILE *)pf - _iob) );
> else
> /*
> * Not part of _iob[]. Therefore, *pf is a _FILEX and the
> * lock field of the struct is an initialized critical
> * section.
> */
> !!ThisLine!! EnterCriticalSection( &(((_FILEX *)pf)->lock) );
> }
>
> Any idea what's wrong with my CRT? Are there any particular linker
> options or something else I may not be aware of? Could this even be
> related to pthreads or is it something else wrong with the project.
> Any ideas would be appreciated.
>
> Thanks in advance,
> ~Brian
>