Mercurial > syslog2iptables
diff src/syslog2iptables.cpp @ 4:2737ab01659a
initial coding
author | carl |
---|---|
date | Thu, 01 Dec 2005 17:17:37 -0800 |
parents | 8fe310e5cd44 |
children | 276c4edc8521 |
line wrap: on
line diff
--- a/src/syslog2iptables.cpp Sun Nov 27 21:12:01 2005 -0800 +++ b/src/syslog2iptables.cpp Thu Dec 01 17:17:37 2005 -0800 @@ -30,8 +30,6 @@ #include <unistd.h> #include <pthread.h> #include <syslog.h> -#include <sys/types.h> -#include <sys/stat.h> #include <sys/wait.h> /* header for waitpid() and various macros */ #include <signal.h> /* header for signal functions */ #include "includes.h" @@ -196,14 +194,34 @@ if (check) { use_syslog = false; debug_syslog = 10; - CONFIG *conf = new_conf(); - if (conf) { - conf->dump(); - for (int i=0; i<2; i++) { - conf->read(); - conf->sleep(5); + config = new_conf(); + if (config) { + config->dump(); + { + // just for testing + // initialize the thread sync objects + pthread_mutex_init(&config_mutex, 0); + pthread_mutex_init(&syslog_mutex, 0); + + time_t t = time(NULL); + CONFIG *c; + pthread_mutex_lock(&config_mutex); + c = config; + c->reference_count++; + pthread_mutex_unlock(&config_mutex); + while (true) { + if (c != config) { + pthread_mutex_lock(&config_mutex); + c->reference_count--; + c = config; + c->reference_count++; + pthread_mutex_unlock(&config_mutex); } - delete conf; + c->read(); + c->sleep(10, t); + } + } + delete config; return 0; } else {