mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 20:45:07 -05:00
ntp: wait for late HW TX timestamps
When sending client requests to a close and fast server, it is possible that a response will be received before the HW transmit timestamp of the request itself. To avoid processing of the response without the HW timestamp, monitor events returned by select() and suspend reading of packets from the receive queue for up to 200 microseconds. As the requests are normally separated by at least 200 milliseconds, it is sufficient to monitor and suspend one socket at a time.
This commit is contained in:
@@ -33,9 +33,13 @@ extern void NIO_Linux_Finalise(void);
|
||||
|
||||
extern int NIO_Linux_SetTimestampSocketOptions(int sock_fd, int client_only, int *events);
|
||||
|
||||
extern int NIO_Linux_ProcessEvent(int sock_fd, int event);
|
||||
|
||||
extern int NIO_Linux_ProcessMessage(NTP_Remote_Address *remote_addr, NTP_Local_Address *local_addr,
|
||||
NTP_Local_Timestamp *local_ts, struct msghdr *hdr, int length);
|
||||
|
||||
extern int NIO_Linux_RequestTxTimestamp(struct msghdr *msg, int cmsglen, int sock_fd);
|
||||
|
||||
extern void NIO_Linux_NotifySocketClosing(int sock_fd);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user