mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
hostapd: remove obsolete patch
It was only needed when hostapd was being started with one instance per PHY Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
ce6ad123e7
commit
aa5f2cb63c
@ -1,97 +0,0 @@
|
|||||||
--- a/src/utils/os_unix.c
|
|
||||||
+++ b/src/utils/os_unix.c
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
+#include <fcntl.h>
|
|
||||||
|
|
||||||
#ifdef ANDROID
|
|
||||||
#include <sys/capability.h>
|
|
||||||
@@ -188,59 +189,46 @@ int os_gmtime(os_time_t t, struct os_tm
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-
|
|
||||||
-#ifdef __APPLE__
|
|
||||||
-#include <fcntl.h>
|
|
||||||
-static int os_daemon(int nochdir, int noclose)
|
|
||||||
+int os_daemonize(const char *pid_file)
|
|
||||||
{
|
|
||||||
- int devnull;
|
|
||||||
+ int pid = 0, i, devnull;
|
|
||||||
|
|
||||||
- if (chdir("/") < 0)
|
|
||||||
- return -1;
|
|
||||||
+#if defined(__uClinux__) || defined(__sun__)
|
|
||||||
+ return -1;
|
|
||||||
+#else /* defined(__uClinux__) || defined(__sun__) */
|
|
||||||
|
|
||||||
- devnull = open("/dev/null", O_RDWR);
|
|
||||||
- if (devnull < 0)
|
|
||||||
+#ifndef __APPLE__
|
|
||||||
+ pid = fork();
|
|
||||||
+ if (pid < 0)
|
|
||||||
return -1;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
- if (dup2(devnull, STDIN_FILENO) < 0) {
|
|
||||||
- close(devnull);
|
|
||||||
- return -1;
|
|
||||||
+ if (pid > 0) {
|
|
||||||
+ if (pid_file) {
|
|
||||||
+ FILE *f = fopen(pid_file, "w");
|
|
||||||
+ if (f) {
|
|
||||||
+ fprintf(f, "%u\n", pid);
|
|
||||||
+ fclose(f);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ _exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (dup2(devnull, STDOUT_FILENO) < 0) {
|
|
||||||
- close(devnull);
|
|
||||||
+ if (setsid() < 0)
|
|
||||||
return -1;
|
|
||||||
- }
|
|
||||||
|
|
||||||
- if (dup2(devnull, STDERR_FILENO) < 0) {
|
|
||||||
- close(devnull);
|
|
||||||
+ if (chdir("/") < 0)
|
|
||||||
return -1;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return 0;
|
|
||||||
-}
|
|
||||||
-#else /* __APPLE__ */
|
|
||||||
-#define os_daemon daemon
|
|
||||||
-#endif /* __APPLE__ */
|
|
||||||
|
|
||||||
-
|
|
||||||
-int os_daemonize(const char *pid_file)
|
|
||||||
-{
|
|
||||||
-#if defined(__uClinux__) || defined(__sun__)
|
|
||||||
- return -1;
|
|
||||||
-#else /* defined(__uClinux__) || defined(__sun__) */
|
|
||||||
- if (os_daemon(0, 0)) {
|
|
||||||
- perror("daemon");
|
|
||||||
+ devnull = open("/dev/null", O_RDWR);
|
|
||||||
+ if (devnull < 0)
|
|
||||||
return -1;
|
|
||||||
- }
|
|
||||||
|
|
||||||
- if (pid_file) {
|
|
||||||
- FILE *f = fopen(pid_file, "w");
|
|
||||||
- if (f) {
|
|
||||||
- fprintf(f, "%u\n", getpid());
|
|
||||||
- fclose(f);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+ for (i = 0; i <= STDERR_FILENO; i++)
|
|
||||||
+ dup2(devnull, i);
|
|
||||||
+
|
|
||||||
+ if (devnull > 2)
|
|
||||||
+ close(devnull);
|
|
||||||
|
|
||||||
return -0;
|
|
||||||
#endif /* defined(__uClinux__) || defined(__sun__) */
|
|
Loading…
Reference in New Issue
Block a user