[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