[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Sun May 17 12:35:50 CEST 2009


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	09/05/17 12:35:49

Modified files:
	cm3/m3-libs/m3core/src/runtime/AIX386/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/AP3000/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/ARM/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/DS3100/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/FreeBSD/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/FreeBSD2/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/FreeBSD3/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/FreeBSD4/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/HP300/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/HPPA/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/IBMR2/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/IBMRT/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/IRIX5/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/LINUX/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/LINUXELF/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/NEXT/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/OKI/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/OS2/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/POSIX/: RTThread.i3 RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SEQUENT/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SOLsun/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SPARC/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SUN3/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/SUN386/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/UMAX/: RTThread.m3 
	cm3/m3-libs/m3core/src/runtime/VAX/: RTThread.m3 

Log message:
	clean out the remaining RTThread vtalarm code
	It has moved to thread/posix/ThreadPosixC.c
	It was duplicated for every single platform but
	with very few variations -- that is a job for #ifdef
	or at least only splitting into a few versions, not
	one for every single platform.
	
	It is presumed the C implementation is portable and
	correct enough, or would be #ifdef'ed as needed.
	
	What remains in RTThread.m3 could use further factoring.
	
	This is for userthreads only.
	
	inconsistencies:
	
	AMD_DARWIN used signal (that's what thread/posix currently does)
	NetBSD used sigaction with flags = 0
	SOLgnu/SOLsun used sigaction with flags = RESTART
	These last two seems directly contradictory.
	SOLgnu/SOLsun cache the signal set like thread/posix
	ALPHA_OSF uses sigaction with flags = restart+info
	restart-ness is contradictory, info is not necessarily
	seems most platforms have a calling convention where
	you don't have to specify info correctly anyway, they
	just always pass extra parameters and you can
	have your function declare them or not
	AIX386, DS3100, ARM, AP3000 uses sigvec with flags=0 (contrary to sigaction(restart)?
	would have to look it up..)
	AP3000, DS3100, ARM builds sigset using sigsetmask(0) + and not vtalarm)
	IBMR2 sigset split into hi/lo, 32bits each (and used sigaction(restart))
	Linux 1.x a.out sigaction(flags=0)
	Linux 1.x elf sigaction(flags=restart) !
	and cached sigset using different style than most
	OS/2 did something quite different -- StartTimer
	instead of signal/sigvec/sigaction
	
	I'm not going to detail everything here, but there is
	the restart vs. 0 thing to worry most about maybe.




More information about the M3commit mailing list