Function report | 
Source Code:kernel\time\ntp.c | 
Create Date:2022-07-28 10:43:29 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:his routine handles the overflow of the microsecond field* The tricky bits of code to handle the accurate clock support* were provided by Dave Mills (Mills@UDEL.EDU) of NTP fame.* They were originally developed for SUN and DEC kernels.
Proto:int second_overflow(time64_t secs)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| time64_t | secs | 
| 403 | leap = 0 | 
| 413 | If clock status bits: & sert leap (rw) Then | 
| 417 | Else if clock status bits: & delete leap (rw) Then | 
| 422 | Break | 
| 424 | If Not (clock status bits: & sert leap (rw) ) Then | 
| 427 | Else if secs == second value of the next pending leapsecond, or TIME64_MAX if no leap Then | 
| 428 | leap = -1 | 
| 433 | Break | 
| 435 | If Not (clock status bits: & delete leap (rw) ) Then | 
| 438 | Else if secs == second value of the next pending leapsecond, or TIME64_MAX if no leap Then | 
| 439 | leap = 1 | 
| 440 | second value of the next pending leapsecond, or TIME64_MAX if no leap = Located here for timespec[64]_valid_strict | 
| 445 | Break | 
| 447 | second value of the next pending leapsecond, or TIME64_MAX if no leap = Located here for timespec[64]_valid_strict | 
| 448 | clock synchronization status* (TIME_ERROR prevents overwriting the CMOS clock) = leap second has occurred | 
| 449 | Break | 
| 451 | If Not (clock status bits: & (sert leap (rw) | delete leap (rw) )) Then clock synchronization status* (TIME_ERROR prevents overwriting the CMOS clock) = clock synchronized, no leap second | 
| 453 | Break | 
| 459 | If maximum error (usecs): > yond max. dispersion Then | 
| 465 | tick_length = tick_length_base | 
| 468 | ime adjustment (nsecs): -= delta | 
| 469 | tick_length += delta | 
| 472 | pps_dec_valid() | 
| 474 | If Not time_adjust Then Go to out | 
| 477 | If time_adjust > usecs Then | 
| 483 | If time_adjust < -usecs Then | 
| 489 | tick_length += time_adjust * NSEC_PER_USEC / NTP_INTERVAL_FREQ << NTP_SCALE_SHIFT | 
| 491 | time_adjust = 0 | 
| 493 | out : | 
| 494 | Return leap | 
| Name | Describe | 
|---|---|
| accumulate_nsecs_to_secs | accumulate_nsecs_to_secs - Accumulates nsecs into secs* Helper function that accumulates the nsecs greater than a second* from the xtime_nsec field to the xtime_secs field.* It also calls into the NTP code to handle leapsecond processing. | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |