cleanup main

This commit is contained in:
PolynomialDivision 2017-12-22 17:18:49 +01:00
parent cfde7b7c97
commit 9eddd63233

View file

@ -8,19 +8,16 @@
#include "networksocket.h"
#include "ubus.h"
#include "dawn_uci.h"
#include "dawn_uci.h"
#include "crypto.h"
#define BUFSIZE 17
#define BUFSIZE_DIR 256
void daemon_shutdown();
void signal_handler(int sig);
struct sigaction newSigAction;
struct sigaction signal_action;
void daemon_shutdown() {
// kill threads
close_socket();
uci_clear();
@ -36,50 +33,24 @@ void daemon_shutdown() {
}
void signal_handler(int sig) {
printf("SOME SIGNAL RECEIVED!\n");
switch (sig) {
case SIGHUP:
daemon_shutdown();
break;
case SIGINT:
daemon_shutdown();
break;
case SIGTERM:
daemon_shutdown();
exit(EXIT_SUCCESS);
break;
default:
daemon_shutdown();
break;
}
}
int main(int argc, char **argv) {
//free_counter = 0;
const char *ubus_socket = NULL;
// int ch;
argc -= optind;
argv += optind;
newSigAction.sa_handler = signal_handler;
sigemptyset(&newSigAction.sa_mask);
newSigAction.sa_flags = 0;
sigaction(SIGHUP, &newSigAction, NULL);
sigaction(SIGTERM, &newSigAction, NULL);
sigaction(SIGINT, &newSigAction, NULL);
uci_init();
struct network_config_s net_config = uci_get_dawn_network();
printf("Broadcst bla: %s\n", net_config.broadcast_ip);
gcrypt_init();
gcrypt_set_key_and_iv(net_config.shared_key, net_config.iv);
struct time_config_s time_config = uci_get_time_config();
timeout_config = time_config; // TODO: Refactor...
hostapd_dir_glob = uci_get_dawn_hostapd_dir();
sort_string = (char*) uci_get_dawn_sort_order();
int init_mutex()
{
if (pthread_mutex_init(&list_mutex, NULL) != 0) {
printf("\n mutex init failed\n");
return 1;
@ -99,6 +70,38 @@ int main(int argc, char **argv) {
printf("\n mutex init failed\n");
return 1;
}
return 0;
}
int main(int argc, char **argv) {
const char *ubus_socket = NULL;
argc -= optind;
argv += optind;
// connect signals
signal_action.sa_handler = signal_handler;
sigemptyset(&signal_action.sa_mask);
signal_action.sa_flags = 0;
sigaction(SIGHUP, &signal_action, NULL);
sigaction(SIGTERM, &signal_action, NULL);
sigaction(SIGINT, &signal_action, NULL);
uci_init();
struct network_config_s net_config = uci_get_dawn_network();
printf("Broadcst bla: %s\n", net_config.broadcast_ip);
gcrypt_init();
gcrypt_set_key_and_iv(net_config.shared_key, net_config.iv);
struct time_config_s time_config = uci_get_time_config();
timeout_config = time_config; // TODO: Refactor...
hostapd_dir_glob = uci_get_dawn_hostapd_dir();
sort_string = (char*) uci_get_dawn_sort_order();
init_mutex();
init_socket_runopts(net_config.broadcast_ip, net_config.broadcast_port, net_config.bool_multicast);