<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Interix is Posix (mostly) on NT, with fast fork.<BR>
  Cygwin in comparison is very slow.<BR>
  However SIGINFO is not available. Nor is "direct suspend" using a pthread_t I believe.<BR>
The older Interix version on XP does not allow access to any Win32 functions.<BR>
Newer versions do.<BR>
This does seem to be a pretty useful platfom.<BR>
Gui should be available too, but I have to work around some problem.<BR>
 <BR>
 - Jay<BR><BR> <BR>
<HR id=stopSpelling>
From: hosking@cs.purdue.edu<BR>Date: Mon, 30 Nov 2009 09:48:48 -0500<BR>To: jkrell@elego.de<BR>CC: m3devel@elegosoft.com<BR>Subject: Re: [M3devel] [M3commit] CVS Update: cm3<BR><BR>
<DIV><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="WORD-WRAP: break-word"><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV><SPAN style="FONT-SIZE: medium" class=ecxApple-style-span><FONT class=ecxApple-style-span color=#0000ff face="'Gill Sans'">This whole interix thing is pretty messy.  Why do we care?  If you are on Windows just use Windows threads.   No need to pollute the pthreads code base with unnecessary complications for weird hybrids.</FONT></SPAN></DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></DIV></SPAN></SPAN></DIV><BR>
<DIV>
<DIV>On 30 Nov 2009, at 13:03, Jay Krell wrote:</DIV><BR class=ecxApple-interchange-newline>
<BLOCKQUOTE>
<DIV>CVSROOT:<SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span> </SPAN>/usr/cvs<BR>Changes by:<SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span> </SPAN>jkrell@birch.<SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span> </SPAN>09/11/30 13:03:07<BR><BR>Modified files:<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 <BR><BR>Log message:<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>keep two thread handles<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>what to call them is unclear<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>here we ahve:<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>joinHandle<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>suspendResumeHandle<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN><BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>aka:<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>pthread<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>ntthread<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN><BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>on all but Interix (and possibly Cygwin), they are equivalent,<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>either the result of pthread_create or pthread_self<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN><BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>on Interix, once is pthread_create/self, the other is a kernel handle<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>for suspend/resume<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN><BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>alternate names welcome<BR><SPAN style="WHITE-SPACE: pre" class=ecxApple-tab-span></SPAN>the intent seems hoky, but helps much<BR></DIV></BLOCKQUOTE></DIV><BR>                                    </body>
</html>