rpcd: Switch to nanosleep

usleep has been deprecated by POSIX.1-2001 and removed in POSIX.1-2008.
Fixes compilation when libc does not include usleep (optional with
uClibc-ng).

nanosleep also has the advantage of being more accurate.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[move timespec definition to the top of the function]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Rosen Penev 2019-07-18 10:54:44 -07:00 committed by Jo-Philipp Wich
parent 821045f6ce
commit 604db20aa6

3
sys.c
View file

@ -145,7 +145,8 @@ rpc_cgi_password_set(struct ubus_context *ctx, struct ubus_object *obj,
if (n < 0)
return rpc_errno_status();
usleep(100 * 1000);
const struct timespec req = {0, 100 * 1000 * 1000};
nanosleep(&req, NULL);
n = write(fds[1], blobmsg_data(tb[RPC_P_PASSWORD]),
blobmsg_data_len(tb[RPC_P_PASSWORD]) - 1);