diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-10-25 16:48:45 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-10-25 16:48:45 +0000 |
commit | 7d5e12fd4d09de4c3929505bf6d03f0b8f1ab625 (patch) | |
tree | f82215517cc67313c7dfe7fe4fc6d2a39f9fd6dc /package/network/services/hostapd/patches/450-scan_wait.patch | |
parent | e9cc6b9ec7ce4247e50ebcba0092b3dbaa32a785 (diff) | |
download | master-187ad058-7d5e12fd4d09de4c3929505bf6d03f0b8f1ab625.tar.gz master-187ad058-7d5e12fd4d09de4c3929505bf6d03f0b8f1ab625.tar.bz2 master-187ad058-7d5e12fd4d09de4c3929505bf6d03f0b8f1ab625.zip |
hostapd: update to 2014-10-25
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43059 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network/services/hostapd/patches/450-scan_wait.patch')
-rw-r--r-- | package/network/services/hostapd/patches/450-scan_wait.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/450-scan_wait.patch b/package/network/services/hostapd/patches/450-scan_wait.patch new file mode 100644 index 0000000000..629786d9c6 --- /dev/null +++ b/package/network/services/hostapd/patches/450-scan_wait.patch @@ -0,0 +1,66 @@ +--- a/hostapd/main.c ++++ b/hostapd/main.c +@@ -36,6 +36,8 @@ struct hapd_global { + }; + + static struct hapd_global global; ++static int daemonize = 0; ++static char *pid_file = NULL; + + + #ifndef CONFIG_NO_HOSTAPD_LOGGER +@@ -142,6 +144,14 @@ static void hostapd_logger_cb(void *ctx, + } + #endif /* CONFIG_NO_HOSTAPD_LOGGER */ + ++static void hostapd_setup_complete_cb(void *ctx) ++{ ++ if (daemonize && os_daemonize(pid_file)) { ++ perror("daemon"); ++ return; ++ } ++ daemonize = 0; ++} + + /** + * hostapd_driver_init - Preparate driver interface +@@ -160,6 +170,8 @@ static int hostapd_driver_init(struct ho + return -1; + } + ++ hapd->setup_complete_cb = hostapd_setup_complete_cb; ++ + /* Initialize the driver interface */ + if (!(b[0] | b[1] | b[2] | b[3] | b[4] | b[5])) + b = NULL; +@@ -374,8 +386,6 @@ static void hostapd_global_deinit(const + #endif /* CONFIG_NATIVE_WINDOWS */ + + eap_server_unregister_methods(); +- +- os_daemonize_terminate(pid_file); + } + + +@@ -401,11 +411,6 @@ static int hostapd_global_run(struct hap + } + #endif /* EAP_SERVER_TNC */ + +- if (daemonize && os_daemonize(pid_file)) { +- perror("daemon"); +- return -1; +- } +- + eloop_run(); + + return 0; +@@ -535,8 +540,7 @@ int main(int argc, char *argv[]) + struct hapd_interfaces interfaces; + int ret = 1; + size_t i, j; +- int c, debug = 0, daemonize = 0; +- char *pid_file = NULL; ++ int c, debug = 0; + const char *log_file = NULL; + const char *entropy_file = NULL; + char **bss_config = NULL, **tmp_bss; |