<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Eek using the packed types in Uexec.i3 instead of my portable Uwaitpid.i3, Uwaitpid.c that unpacked everything into a whole number of bytes (no bit fields or shifting for the caller to wory about), and formed the value that I believe the loopholes were historically getting.<BR>
A big part of the change.<BR>
 <BR>
 - Jay<BR><BR><BR>

<HR id=stopSpelling>
<BR>
CC: hosking@elego.de; m3commit@elegosoft.com<BR>From: hosking@cs.purdue.edu<BR>To: jay.krell@cornell.edu<BR>Subject: Re: [M3commit] CVS Update: cm3<BR>Date: Mon, 12 Jan 2009 22:26:01 +1100<BR><BR><BR>
<DIV><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV style="WORD-WRAP: break-word"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV>Eek, what?</DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></DIV></SPAN></DIV><BR>
<DIV>
<DIV>On 12 Jan 2009, at 21:28, Jay wrote:</DIV><BR class=EC_Apple-interchange-newline>
<BLOCKQUOTE><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV class=EC_hmmessage style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Eek, was this really the way to go?<BR>It really seemed better before to me.<BR>Before it was automatically portable without declaring the packed return type or NOHANG.<BR> <BR> - Jay<BR><BR><BR>
<HR id=EC_stopSpelling>
<BR>From:<SPAN class=EC_Apple-converted-space> </SPAN><A href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</A><BR>To:<SPAN class=EC_Apple-converted-space> </SPAN><A href="mailto:hosking@elego.de">hosking@elego.de</A>;<SPAN class=EC_Apple-converted-space> </SPAN><A href="mailto:m3commit@elegosoft.com">m3commit@elegosoft.com</A><BR>Subject: RE: [M3commit] CVS Update: cm3<BR>Date: Mon, 12 Jan 2009 10:11:17 +0000<BR><BR> > relies on particular endian-ness of the status<BR> > word they return. Really, those clients should<BR> > be using proper bit-shifts and bit-masks to extract<BR> > the right values rather than some endian- dependent RECORD layout defined in Uexec<BR> <BR> Wasn't Uwaitpid.c a good portable way to do exactly that?<SPAN class=EC_Apple-converted-space> </SPAN><BR> I guess it can be written in Modula-3 though, if the headers are cloned as they are.<BR> Aren't {I386,AMD64}_DARWIN broken here?<SPAN class=EC_Apple-converted-space> </SPAN><BR> Besides all "my" ports, which don't define those types.<SPAN class=EC_Apple-converted-space> </SPAN><BR> Yeah yeah, all I have to do is switch on endian and I can introduce them..<BR><BR> I'll see about Cygwin pthreads.<SPAN class=EC_Apple-converted-space> </SPAN><BR><BR> - Jay<BR><BR>> Date: Mon, 12 Jan 2009 10:20:33 +0000<BR>> To:<SPAN class=EC_Apple-converted-space> </SPAN><A href="mailto:m3commit@elegosoft.com">m3commit@elegosoft.com</A><BR>> From:<SPAN class=EC_Apple-converted-space> </SPAN><A href="mailto:hosking@elego.de">hosking@elego.de</A><BR>> Subject: [M3commit] CVS Update: cm3<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> CVSROOT: /usr/cvs<BR>> Changes by: hosking@birch. 09/01/12 10:20:33<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Modified files:<BR>> cm3/m3-libs/m3core/src/thread/: ThreadPScheduler.m3<SPAN class=EC_Apple-converted-space> </SPAN><BR>> ThreadPWait.m3<SPAN class=EC_Apple-converted-space> </SPAN><BR>> cm3/m3-libs/m3core/src/thread/Common/: SchedulerPosix.i3<SPAN class=EC_Apple-converted-space> </SPAN><BR>> cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Uwaitpid.i3<SPAN class=EC_Apple-converted-space> </SPAN><BR>> m3makefile<SPAN class=EC_Apple-converted-space> </SPAN><BR>> cm3/m3-libs/libm3/src/os/POSIX/: ProcessPosixCommon.m3<SPAN class=EC_Apple-converted-space> </SPAN><BR>> cm3/m3-libs/sysutils/src/POSIX/: SystemPosix.m3 m3makefile<SPAN class=EC_Apple-converted-space> </SPAN><BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Log message:<BR>> Try to clean up mess with Process.Wait and System.Wait based on waitpid.<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Packing is now returned to Process.Wait and System.Wait where it used to be.<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Not sure if this re-packing is needed by clients, but should verify.<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR><BR><BR></DIV></SPAN></BLOCKQUOTE></DIV><BR></body>
</html>