[OpenWrt-Devel] [PATCH] rpcd: Switch to nanosleep

Rosen Penev rosenp at gmail.com
Thu Jul 18 13:54:44 EDT 2019


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 at gmail.com>
---
 sys.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys.c b/sys.c
index 43eadc4..2d83522 100644
--- a/sys.c
+++ b/sys.c
@@ -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);
-- 
2.17.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list