<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>again -- all platforms blow up here in 2038.<br><br>Index: src/EventWireRep.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-comm/events/src/EventWireRep.m3,v<br>retrieving revision 1.2<br>diff -u -r1.2 EventWireRep.m3<br>--- src/EventWireRep.m3 2 Dec 2001 00:20:38 -0000 1.2<br>+++ src/EventWireRep.m3 6 Sep 2013 05:24:23 -0000<br>@@ -80,21 +80,26 @@<br> <br> UNSAFE MODULE EventWireRep;<br> <br>-IMPORT EventSpaceID, Time, Word, Fmt; (* IO *)<br>+IMPORT NetObjEpoch, EventSpaceID, Time, Word, Fmt; (* IO *)<br> <br> TYPE<br> Int32 = BITS 32 FOR [-2147483647-1..2147483647];<br> TRep = RECORD ts: Int32; objNum: Int32; space: EventSpaceID.T; END;<br> <br>-VAR myTs: Int32 := ROUND(Time.Now());<br>+VAR myTs: Int32 := GetTime();<br> myObjNum := 0;<br> mu := NEW(MUTEX);<br> <br>+PROCEDURE GetTime (): Int32 =<br>+ BEGIN<br>+ RETURN ROUND (Time.Now () - NetObjEpoch.T);<br>+ END GetTime;<br>+<br> PROCEDURE New() : T =<br> VAR wt: TRep;<br> BEGIN<br> LOCK mu DO<br>- IF myObjNum = LAST(Int32) THEN myTs := ROUND(Time.Now()); END;<br>+ IF myObjNum = LAST(Int32) THEN myTs := GetTime(); END;<br> INC(myObjNum);<br> wt.ts := myTs;<br> wt.objNum := myObjNum;<br>Index: src/m3makefile<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-comm/events/src/m3makefile,v<br>retrieving revision 1.2<br>diff -u -r1.2 m3makefile<br>--- src/m3makefile 2 Dec 2001 00:20:38 -0000 1.2<br>+++ src/m3makefile 6 Sep 2013 05:24:23 -0000<br>@@ -2,6 +2,7 @@<br> %import ("sequences")<br> import ("listfuncs")<br> import ("parseparams")<br>+import("netobj")<br> <br> List ("EventConn","EventConn")<br> ListFuncs ("EventConn","EventConn","EventConnList")<br><br><br> - Jay<br><br><br><div>> Date: Fri, 6 Sep 2013 07:30:44 +0000<br>> To: m3commit@elegosoft.com<br>> From: jkrell@elego.de<br>> Subject: [M3commit] CVS Update: cm3<br>> <br>> CVSROOT: /usr/cvs<br>> Changes by: jkrell@birch. 13/09/06 07:30:44<br>> <br>> Modified files:<br>> cm3/m3-comm/events/src/: EventWireRep.m3 m3makefile <br>> <br>> Log message:<br>> m3-comm/events is an out of date fork of m3-obliq/obliqrt<br>> <br>> m3-comm/events contains this code:<br>> Int32 := Time.Now();<br>> <br>> m3-obliq contains similar:<br>> Int32 := Time.Now() - Epoch;<br>> Posix.Epoch = 0<br>> Win32.Epoch = 1970<br>> <br>> m3-comm (i.e. starting mentor) fails on AMD64_NT because we are<br>> more than 2 billion seconds into the Win32 epoch (starting in 1601)<br>> I386_NT succeeds albeit bogosusly -- the whole float to integer<br>> conversion lacking any range chech..<br>> <br>> Port m3-obliq to m3-comm.<br>> This should fix AMD64_NT.<br>> <br>> All platforms will blow up here in 2038.<br>> <br></div> </div></body>
</html>