tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

HEADS-UP: prop_{array,dictionary}_send_syscall(3) incompatible change in -current

Dear all,

A few days ago, François Tigeot reported an API inconsistency with the new prop_*_send/recv_syscall functions: their man pages indicated that they should return a boolean to indicate success/failure, yet their implementation was done differently.

Their implementation was not symmetric; one assumed that the returned value had to be interpreted as a boolean (hence, 0 is false and != 0 is true), while the other one had the opposite with 0 being success and != 0 indicating error.

Given prior art with the prop_*_{send,recv}_ioctl(3) functions, I adopted the same convention for these new functions: return an int, with 0 being "no error" and "!= 0" indicating error (with errno set).

prop_*_recv_syscall() functions were already good, only the prop_*_send_syscall() consumers had to be fixed, which means only the quota2 code and its tests as the API never left -current (Manuel introduced it for its new quota2 code).

The prop_array(3) and prop_dictionary(3) man pages have been updated to reflect this change. The proplib(3) has not been bumped for this, so ensure that you keep both proplib and quota2 binaries in sync when updating a -current system.

Many thanks to François for reporting this so we could fix it before releasing -6.

Thank you all for reading.

Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index