[PATCH 0/4] Progress toward absolute time intervals

Gedare Bloom gedare at rtems.org
Thu Jun 23 19:26:43 UTC 2016


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



More information about the devel mailing list