Changeset c64c638 in rtems
- Timestamp:
- 08/01/22 07:03:11 (8 months ago)
- Branches:
- master
- Children:
- 52b7a58
- Parents:
- 071640d
- git-author:
- Sebastian Huber <sebastian.huber@…> (08/01/22 07:03:11)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (08/04/22 05:55:30)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/posix/src/clocknanosleep.c
r071640d rc64c638 83 83 } else { 84 84 absolute = false; 85 86 /* 87 * A relative CLOCK_REALTIME time out shall not be affected by 88 * CLOCK_REALTIME changes through clock_settime(). Since our 89 * CLOCK_REALTIME is basically just CLOCK_MONOTONIC plus an offset, we can 90 * simply use the CLOCK_MONOTONIC watchdog for relative CLOCK_REALTIME time 91 * outs. 92 */ 93 clock_id = CLOCK_MONOTONIC; 85 94 } 86 95 -
testsuites/validation/tc-clock-nanosleep.c
r071640d rc64c638 660 660 /* 661 661 * The timer of the calling task shall expire at the time point specified 662 * by the sum of the current time of the clock specified by the 663 * ``clock_id`` parameter and the interval specified by the ``rqtp`` 664 * parameter. 665 */ 666 if ( ctx->clock_id == CLOCK_REALTIME ) { 667 expire = ctx->now_realtime; 668 } else { 669 expire = ctx->now_monotonic; 670 } 671 662 * by the sum of the current time of the clock specified by 663 * CLOCK_MONOTONIC and the interval specified by the ``rqtp`` parameter. 664 */ 665 expire = ctx->now_monotonic; 672 666 expire.tv_sec += ctx->rqtp_obj.tv_sec; 673 667 expire.tv_nsec += ctx->rqtp_obj.tv_nsec; … … 856 850 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop }, 857 851 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero, 858 CReqClockNanosleep_Post_Timer_Realtime,859 CReqClockNanosleep_Post_Expire_Last,860 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop },861 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero,862 852 CReqClockNanosleep_Post_Timer_Monotonic, 863 CReqClockNanosleep_Post_Expire_Absolute,864 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop },865 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero,866 CReqClockNanosleep_Post_Timer_Inactive, CReqClockNanosleep_Post_Expire_NA,867 CReqClockNanosleep_Post_Scheduler_BlockUnblock,868 CReqClockNanosleep_Post_RMTp_Zero },869 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero,870 CReqClockNanosleep_Post_Timer_Realtime,871 853 CReqClockNanosleep_Post_Expire_Absolute, 872 854 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop }, … … 884 866 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop }, 885 867 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero, 868 CReqClockNanosleep_Post_Timer_Inactive, CReqClockNanosleep_Post_Expire_NA, 869 CReqClockNanosleep_Post_Scheduler_BlockUnblock, 870 CReqClockNanosleep_Post_RMTp_Zero }, 871 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero, 886 872 CReqClockNanosleep_Post_Timer_Realtime, 887 873 CReqClockNanosleep_Post_Expire_Last, 888 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_ Zero},874 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop }, 889 875 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero, 890 876 CReqClockNanosleep_Post_Timer_Realtime, 891 CReqClockNanosleep_Post_Expire_Relative, 892 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Zero }, 893 { 0, 0, 0, 0, 0, 0, 0, CReqClockNanosleep_Post_Status_Zero, 894 CReqClockNanosleep_Post_Timer_Realtime, 895 CReqClockNanosleep_Post_Expire_Relative, 877 CReqClockNanosleep_Post_Expire_Absolute, 896 878 CReqClockNanosleep_Post_Scheduler_Block, CReqClockNanosleep_Post_RMTp_Nop } 897 879 }; … … 899 881 static const uint8_t 900 882 CReqClockNanosleep_Map[] = { 901 6, 6, 8, 8, 10, 10, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,902 0, 0, 0, 0, 0, 0, 0, 7, 2, 13, 8, 14, 15, 11, 6, 7, 2, 7, 2, 7, 2, 7, 2, 3,903 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 6, 6, 9, 9, 12, 12, 6, 6, 2, 2,904 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 2, 1 6,905 9, 17, 18, 11, 6, 7, 2, 7, 2, 7, 2, 7, 2, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0,883 6, 6, 8, 8, 9, 9, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884 0, 0, 0, 0, 0, 0, 7, 2, 10, 8, 11, 12, 13, 6, 7, 2, 7, 2, 7, 2, 7, 2, 3, 0, 885 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 6, 6, 14, 14, 15, 15, 6, 6, 2, 2, 886 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 2, 10, 887 8, 11, 12, 13, 6, 7, 2, 7, 2, 7, 2, 7, 2, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 906 888 3, 0, 3, 0, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 907 889 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5,
Note: See TracChangeset
for help on using the changeset viewer.