<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>1) I need to double check that my commit comment is true.<BR>
2) If it is, I'd strongly prefer static initialization without code, either asis, or by fixing the compiler...<BR>
Having to run code for constant initialization is just lame..<BR>
2b) If it isn't, I'll put it back.<BR>
 <BR>
 - Jay<BR><BR><BR>

<HR id=stopSpelling>
<BR>
> From: hosking@cs.purdue.edu<BR>> Date: Sun, 3 Feb 2008 00:01:37 -0500<BR>> To: jkrell@elego.de<BR>> CC: m3commit@elegosoft.com<BR>> Subject: Re: [M3commit] CVS Update: cm3<BR>> <BR>> I would prefer to do this in pure Modula-3 by calling the initializer <BR>> functions explicitly. I'll take a look at it.<BR>> <BR>> On Feb 3, 2008, at 3:06 AM, Jay Krell wrote:<BR>> <BR>> > CVSROOT: /usr/cvs<BR>> > Changes by: jkrell@birch. 08/02/03 03:06:27<BR>> ><BR>> > Modified files:<BR>> > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3<BR>> > m3makefile<BR>> > Added files:<BR>> > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3<BR>> > ThreadPThreadC.c<BR>> ><BR>> > Log message:<BR>> > Cygwin static initializers are not all zeros and Modula-3 static<BR>> > initialization happens after at least some of this data is used,<BR>> > so move it to C to guarantee actual static initialization.<BR>> > This fixes the problem where Cygwin/NT386GNU issues an endless stream<BR>> > of assertion failures upon start, at each pthread_mutex_lock call.<BR>> > Cygwin/NT386GNU still hangs at startup, since nanosleep is failing,<BR>> > and there is an access violation to investigate. Cygwin does<BR>> > strange things with the stack..reserving a block at the start for<BR>> > their thread locals and getting to it via fs:4.<BR>> <BR><BR><br /><hr />Connect and share in new ways with Windows Live. <a href='http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008' target='_new'>Get it now!</a></body>
</html>