[M3commit] CVS Update: cm3
Tony Hosking
hosking at cs.purdue.edu
Sun Feb 3 06:01:37 CET 2008
I would prefer to do this in pure Modula-3 by calling the initializer
functions explicitly. I'll take a look at it.
On Feb 3, 2008, at 3:06 AM, Jay Krell wrote:
> CVSROOT: /usr/cvs
> Changes by: jkrell at birch. 08/02/03 03:06:27
>
> Modified files:
> cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3
> m3makefile
> Added files:
> cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3
> ThreadPThreadC.c
>
> Log message:
> Cygwin static initializers are not all zeros and Modula-3 static
> initialization happens after at least some of this data is used,
> so move it to C to guarantee actual static initialization.
> This fixes the problem where Cygwin/NT386GNU issues an endless stream
> of assertion failures upon start, at each pthread_mutex_lock call.
> Cygwin/NT386GNU still hangs at startup, since nanosleep is failing,
> and there is an access violation to investigate. Cygwin does
> strange things with the stack..reserving a block at the start for
> their thread locals and getting to it via fs:4.
More information about the M3commit
mailing list