diff --git a/server/include/file.h b/server/include/file.h index d20a071bf..bc42c600e 100644 --- a/server/include/file.h +++ b/server/include/file.h @@ -23,7 +23,7 @@ struct file { FILE *in; FILE *out; - + const char *path_in; char *path_out; diff --git a/server/include/hist.h b/server/include/hist.h index 192a1de29..3b0d33c93 100644 --- a/server/include/hist.h +++ b/server/include/hist.h @@ -1,12 +1,11 @@ /** Histogram functions. * + * @file * @author Steffen Vogel * @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC * This file is part of S2SS. All Rights Reserved. Proprietary and confidential. * Unauthorized copying of this file, via any medium is strictly prohibited. *********************************************************************************/ - * @file - */ #ifndef _HIST_H_ #define _HIST_H_ diff --git a/server/include/license.h b/server/include/license.h index cde502b1b..51fb1ec31 100644 --- a/server/include/license.h +++ b/server/include/license.h @@ -14,7 +14,15 @@ #include #include -/** Check for correct license */ +/** Simple copy protection. + * + * This function does: + * - checks several machine IDs for predefined values. + * - checks if program is debugged / traced + * + * This function shall be executed during program startup to + * check if this host is allowed to execute S2SS. + */ static inline __attribute__((always_inline)) int check_license() { const struct { diff --git a/server/src/log.c b/server/src/log.c index 98976d362..914999da9 100644 --- a/server/src/log.c +++ b/server/src/log.c @@ -23,8 +23,7 @@ /** Debug level used by the debug() macro. * It defaults to V (defined by the Makefile) and can be - * overwritten by the 'debug' setting in the configuration file. - */ + * overwritten by the 'debug' setting in the configuration file. */ static int level = V; /** A global clock used to prefix the log messages. */ diff --git a/server/src/path.c b/server/src/path.c index 7703c4070..f0ff39b72 100644 --- a/server/src/path.c +++ b/server/src/path.c @@ -82,7 +82,7 @@ static void * path_run(void *arg) node_start_defer(it->node); */ /* Main thread loop */ -skip: while (1) { +skip: for(;;) { /* Receive message */ int recv = node_read(p->in, p->pool, p->poolsize, p->received, p->in->combine); diff --git a/server/src/receive.c b/server/src/receive.c index c50d3c8e0..c9921c430 100644 --- a/server/src/receive.c +++ b/server/src/receive.c @@ -39,7 +39,7 @@ static struct settings set; static struct msg *pool; static struct node *node; -static void quit(int sig, siginfo_t *si, void *ptr) +static void quit() { node_stop(node); node_deinit(); diff --git a/server/src/send.c b/server/src/send.c index 71d25f820..07925e2ed 100644 --- a/server/src/send.c +++ b/server/src/send.c @@ -108,13 +108,20 @@ int main(int argc, char *argv[]) node_reverse(node); node->refcnt++; - pool = alloc(sizeof(struct msg) * node->combine); node->vt->refcnt++; + info("Initialize node types"); node_init(argc-optind, argv+optind, &set); + + info("Start node"); node_start(node); node_start_defer(node); + pool = alloc(sizeof(struct msg) * node->combine); + + /* Print header */ + fprintf(stderr, "# %-20s\t%s\t%s\n", "timestamp", "seqno", "data[]"); + while (!feof(stdin)) { for (int i = 0; i < node->combine; i++) { msg_fscan(stdin, &pool[i]); diff --git a/server/src/server.c b/server/src/server.c index 81d43833f..7997336e0 100644 --- a/server/src/server.c +++ b/server/src/server.c @@ -150,7 +150,6 @@ int main(int argc, char *argv[]) info("Initialize node types"); node_init(argc, argv, &settings); - /* Connect all nodes and start one thread per path */ info("Starting nodes"); FOREACH(&nodes, it) node_start(it->node);