On 08/02/2022 08:13, gabriel.moy...@dlr.de wrote:
What is the reason for this patch?

This change is something I would like to have a second opinion. So, thanks for 
the question.

Originally at the end of sys_ntp_adjtime(), if the function copyout() doesn't 
return an error, the value returned by
ntp_is_time_error(), which variable name is retval, is saved in 
td->td_retval[0]. Chris modified this, being retval saved in the variable
error, which is the one returned by sys_ntp_adjtime().

In libbsd, copyout() is just a memcpy() which returns 0.

Under some situations, ntp_adjtime() is called with modes = 0 just for 
retrieving some values (for example
herehttps://github.com/ptpd/ptpd/blob/master/src/dep/sys.c#L2036, please notice 
that here adjtimex() is ntp_adjtime()). In those
cases, returning retval may not be meaningful. Other similar situation happens 
when mode is MOD_TAI
(https://github.com/ptpd/ptpd/blob/master/src/dep/sys.c#L2070).
This is more or less the reason. If there is better way to solve this, is 
welcome.
I don't think the changes make sense. The td->td_retval[0] is the return value of the 
system call if it is successful.  The "error" indicates
if the system call was successful (== 0), otherwise it returns -1 with errno set to 
"error".

So, do you also propose to remove the line "error = retval;" ? I think it is 
better keeping the return value meaning of sys_ntp_adjtime(), i.e. just returning 0 
(successful) or -1 (in case of error)

The return values should match with the documentation in the man page.

I will send a patch to import kern_ntptime.c to RTEMS shortly.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to