[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