<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>