[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Thu Aug 29 09:37:22 CEST 2013
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 13/08/29 09:37:22
Modified files:
cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3
Log message:
Win64: LAST(CARDINAL) => LAST_CARDINAL32 = 16_7FFFFFFF and
use that instead. That is what was intended, as this is
changing a wait over some Modula-3 time unit into
a Win32 wait in 32bit milliseconds, and the Modula-3 code is going
to loop if the value doesn't fit. Really, it should probably be using 16_FFFFFFFE
but is probably too challenging. (16_FFFFFFFF is a special value: "INFINITE"),
16_FFFFFFFE is the largest non-infinite value.
If 32bit LAST(CARDINAL) is really 16_FFFFFFFF then this fix is incorrect.
But as I recall CARDINAL is 0..LAST(INTEGER) -- 31 bit half range.
It's too bad really to waste the extra bit.
More information about the M3commit
mailing list