These patches move forward toward a goal to provide support for the CLOCK_ABSTIME in POSIX. The first service targeted is the clock_nanosleep, with others to follow. The bulk of changes here are to add separate watchdog disciplines for relative and absolute time intervals. This adds timeout fields to the threadq context, moves WATCHDOG_NO_TIMEOUT into the new Watchdog_Discipline, promotes Watchdog_Interval to 64 bits.
Gedare Bloom (4): cpukit: Add and use Watchdog_Discipline. posix: add clock_nanosleep and tests cpukit/rtems: fix return type mismatch for _TOD_To_seconds score: use 64-bit watchdog intervals cpukit/libnetworking/rtems/rtems_glue.c | 5 +- cpukit/posix/include/rtems/posix/pthreadimpl.h | 3 +- cpukit/posix/src/condwaitsupp.c | 3 +- cpukit/posix/src/mqueuerecvsupp.c | 3 +- cpukit/posix/src/mqueuesendsupp.c | 3 +- cpukit/posix/src/mutexlocksupp.c | 5 +- cpukit/posix/src/nanosleep.c | 54 ++++++++-- cpukit/posix/src/pbarrierwait.c | 2 +- cpukit/posix/src/prwlockrdlock.c | 2 +- cpukit/posix/src/prwlocktimedrdlock.c | 3 +- cpukit/posix/src/prwlocktimedwrlock.c | 3 +- cpukit/posix/src/prwlocktryrdlock.c | 1 - cpukit/posix/src/prwlocktrywrlock.c | 1 - cpukit/posix/src/prwlockwrlock.c | 2 +- cpukit/posix/src/pthreadjoin.c | 1 + cpukit/posix/src/semaphorewaitsupp.c | 3 +- cpukit/posix/src/sigtimedwait.c | 3 +- cpukit/posix/src/ualarm.c | 3 +- cpukit/rtems/src/barrierwait.c | 3 +- cpukit/rtems/src/clocktodtoseconds.c | 2 +- cpukit/rtems/src/eventseize.c | 5 +- cpukit/rtems/src/msgqreceive.c | 3 +- cpukit/rtems/src/msgqsend.c | 1 - cpukit/rtems/src/msgqurgent.c | 1 - cpukit/rtems/src/ratemonperiod.c | 3 +- cpukit/rtems/src/regiongetsegment.c | 1 + cpukit/rtems/src/semobtain.c | 8 +- cpukit/rtems/src/taskwakeafter.c | 5 +- cpukit/rtems/src/taskwakewhen.c | 5 +- cpukit/score/include/rtems/score/corebarrierimpl.h | 5 - cpukit/score/include/rtems/score/coremsgimpl.h | 10 -- cpukit/score/include/rtems/score/coremuteximpl.h | 8 -- cpukit/score/include/rtems/score/corerwlockimpl.h | 6 -- cpukit/score/include/rtems/score/coresemimpl.h | 3 - cpukit/score/include/rtems/score/mrspimpl.h | 12 ++- cpukit/score/include/rtems/score/threadimpl.h | 32 ++---- cpukit/score/include/rtems/score/threadq.h | 12 +++ cpukit/score/include/rtems/score/threadqimpl.h | 46 +++++++-- cpukit/score/include/rtems/score/watchdog.h | 42 ++++++-- cpukit/score/include/rtems/score/watchdogimpl.h | 50 ++++----- cpukit/score/src/apimutexlock.c | 3 +- cpukit/score/src/condition.c | 19 ++-- cpukit/score/src/corebarrierwait.c | 2 - cpukit/score/src/coremsgseize.c | 2 - cpukit/score/src/coremsgsubmit.c | 2 - cpukit/score/src/coremutexseize.c | 5 +- cpukit/score/src/corerwlockobtainread.c | 2 - cpukit/score/src/corerwlockobtainwrite.c | 2 - cpukit/score/src/futex.c | 2 +- cpukit/score/src/mpci.c | 3 +- cpukit/score/src/mutex.c | 22 ++-- cpukit/score/src/semaphore.c | 2 +- cpukit/score/src/threadqenqueue.c | 27 +++-- cpukit/score/src/threadrestart.c | 2 +- testsuites/psxtests/psxhdrs/Makefile.am | 1 + testsuites/psxtests/psxhdrs/time/clock_nanosleep.c | 35 +++++++ testsuites/psxtmtests/Makefile.am | 3 + testsuites/psxtmtests/configure.ac | 3 + .../psxtmtests/psxtmclocknanosleep01/Makefile.am | 25 +++++ testsuites/psxtmtests/psxtmclocknanosleep01/init.c | 59 +++++++++++ .../psxtmclocknanosleep01.doc | 12 +++ .../psxtmtests/psxtmclocknanosleep02/Makefile.am | 25 +++++ testsuites/psxtmtests/psxtmclocknanosleep02/init.c | 109 ++++++++++++++++++++ .../psxtmclocknanosleep02.doc | 10 ++ .../psxtmtests/psxtmclocknanosleep03/Makefile.am | 25 +++++ testsuites/psxtmtests/psxtmclocknanosleep03/init.c | 114 +++++++++++++++++++++ .../psxtmclocknanosleep03.doc | 10 ++ testsuites/sptests/sp37/init.c | 2 +- 68 files changed, 697 insertions(+), 194 deletions(-) create mode 100644 testsuites/psxtests/psxhdrs/time/clock_nanosleep.c create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep01/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep01/init.c create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep01/psxtmclocknanosleep01.doc create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep02/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep02/init.c create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep02/psxtmclocknanosleep02.doc create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep03/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep03/init.c create mode 100644 testsuites/psxtmtests/psxtmclocknanosleep03/psxtmclocknanosleep03.doc -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel