diff mbox series

[OpenWrt-Devel,PATCHv2] procd: Switch to nanosleep

Message ID 20190901202643.3011-1-rosenp@gmail.com
State Accepted
Delegated to: Hauke Mehrtens
Headers show
Series [OpenWrt-Devel,PATCHv2] procd: Switch to nanosleep | expand

Commit Message

Rosen Penev Sept. 1, 2019, 8:26 p.m. UTC
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>
---
 v2: Add missing semicolon
 initd/init.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/initd/init.c b/initd/init.c
index 29eee50..b253fb6 100644
--- a/initd/init.c
+++ b/initd/init.c
@@ -97,12 +97,13 @@  main(int argc, char **argv)
 	if (pid <= 0) {
 		ERROR("Failed to start kmodloader instance: %m\n");
 	} else {
+		const struct timespec req = {0, 10 * 1000 * 1000};
 		int i;
 
 		for (i = 0; i < 1200; i++) {
 			if (waitpid(pid, NULL, WNOHANG) > 0)
 				break;
-			usleep(10 * 1000);
+			nanosleep(&req, NULL);
 			watchdog_ping();
 		}
 	}