hostapd: backport usleep patch
Optionally fixes compilation with uClibc-ng. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
b43023b7ba
commit
76d22fc24b
@ -7,7 +7,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=hostapd
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE_URL:=http://w1.fi/hostap.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
53
package/network/services/hostapd/patches/800-usleep.patch
Normal file
53
package/network/services/hostapd/patches/800-usleep.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From 39042d7f7c4997af55474ebe4513c81f00732837 Mon Sep 17 00:00:00 2001
|
||||
From: Rosen Penev <rosenp@gmail.com>
|
||||
Date: Sat, 24 Aug 2019 15:01:16 -0700
|
||||
Subject: os_sleep: Use nanosleep for POSIX versions 2008 and higher
|
||||
|
||||
uClibc-ng optionally disabled deprecated POSIX functions like usleep,
|
||||
causing compilation failures. This switches to nanosleep while retaining
|
||||
support for older libcs that do not support nanosleep.
|
||||
|
||||
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||
---
|
||||
src/utils/os_internal.c | 6 ++++++
|
||||
src/utils/os_unix.c | 6 ++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
--- a/src/utils/os_internal.c
|
||||
+++ b/src/utils/os_internal.c
|
||||
@@ -25,10 +25,16 @@
|
||||
|
||||
void os_sleep(os_time_t sec, os_time_t usec)
|
||||
{
|
||||
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
|
||||
+ const struct timespec req = { sec, usec * 1000 };
|
||||
+
|
||||
+ nanosleep(&req, NULL);
|
||||
+#else
|
||||
if (sec)
|
||||
sleep(sec);
|
||||
if (usec)
|
||||
usleep(usec);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
--- a/src/utils/os_unix.c
|
||||
+++ b/src/utils/os_unix.c
|
||||
@@ -50,10 +50,16 @@ struct os_alloc_trace {
|
||||
|
||||
void os_sleep(os_time_t sec, os_time_t usec)
|
||||
{
|
||||
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
|
||||
+ const struct timespec req = { sec, usec * 1000 };
|
||||
+
|
||||
+ nanosleep(&req, NULL);
|
||||
+#else
|
||||
if (sec)
|
||||
sleep(sec);
|
||||
if (usec)
|
||||
usleep(usec);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user