Changeset: 5dc89877ed48 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5dc89877ed48
Modified Files:
        tools/merovingian/daemon/merovingian.c
Branch: Oct2020
Log Message:

Modernize code a little.


diffs (124 lines):

diff --git a/tools/merovingian/daemon/merovingian.c 
b/tools/merovingian/daemon/merovingian.c
--- a/tools/merovingian/daemon/merovingian.c
+++ b/tools/merovingian/daemon/merovingian.c
@@ -193,10 +193,6 @@ logListener(void *x)
        do {
                /* wait max 1 second, tradeoff between performance and being
                 * able to catch up new logger streams */
-#ifndef HAVE_POLL
-               tv = (struct timeval) {.tv_sec = 1};
-               FD_ZERO(&readfds);
-#endif
                nfds = 0;
 
                /* make sure noone is killing or adding entries here */
@@ -218,6 +214,8 @@ logListener(void *x)
                        w->flag |= 1;
                }
 #else
+               tv = (struct timeval) {.tv_sec = 1};
+               FD_ZERO(&readfds);
                for (w = d; w != NULL; w = w->next) {
                        if (w->pid <= 0)
                                continue;
@@ -351,7 +349,7 @@ main(int argc, char *argv[])
        struct stat sb;
        FILE *oerr = NULL;
        int thret;
-       char merodontfork = 0;
+       bool merodontfork = false;
        bool use_ipv6 = false;
        confkeyval ckv[] = {
                {"logfile",       strdup("merovingian.log"), 0,                
STR},
@@ -476,7 +474,7 @@ main(int argc, char *argv[])
                        exit(command_set(ckv, argc - 1, &argv[1]));
                } else if (strcmp(argv[1], "start") == 0) {
                        if (argc > 3 && strcmp(argv[2], "-n") == 0)
-                               merodontfork = 1;
+                               merodontfork = true;
                        if (argc == 3 + merodontfork) {
                                int len;
                                len = snprintf(dbfarm, sizeof(dbfarm), "%s",
@@ -730,12 +728,11 @@ main(int argc, char *argv[])
                MERO_EXIT_CLEAN(1);
        }
 
+       dpcons = (struct _dpair) {
+               .type = MERO,
+               .fork_lock = PTHREAD_MUTEX_INITIALIZER,
+       };
        _mero_topdp = &dpcons;
-       _mero_topdp->pid = 0;
-       _mero_topdp->type = MERO;
-       _mero_topdp->dbname = NULL;
-       _mero_topdp->flag = 0;
-       pthread_mutex_init(&_mero_topdp->fork_lock, NULL);
 
        /* where should our msg output go to? */
        p = getConfVal(_mero_props, "logfile");
@@ -758,8 +755,13 @@ main(int argc, char *argv[])
                MERO_EXIT(1);
        }
 
+       dpmero = (struct _dpair) {
+               .fork_lock = PTHREAD_MUTEX_INITIALIZER,
+               .pid = getpid(),
+               .type = MERO,
+               .dbname = "merovingian",
+       };
        d = _mero_topdp->next = &dpmero;
-       pthread_mutex_init(&d->fork_lock, NULL);
 
        /* redirect stdout */
        if (pipe2(pfd, O_CLOEXEC) == -1) {
@@ -813,12 +815,13 @@ main(int argc, char *argv[])
                MERO_EXIT(1);
        }
 
-       d->pid = getpid();
-       d->type = MERO;
-       d->dbname = "merovingian";
-       d->flag = 0;
-
        /* separate entry for the neighbour discovery service */
+       dpdisc = (struct _dpair) {
+               .fork_lock = PTHREAD_MUTEX_INITIALIZER,
+               .pid = getpid(),
+               .type = MERO,
+               .dbname = "discovery",
+       };
        d = d->next = &dpdisc;
        pthread_mutex_init(&d->fork_lock, NULL);
        if (pipe2(pfd, O_CLOEXEC) == -1) {
@@ -851,13 +854,14 @@ main(int argc, char *argv[])
                                 strerror(errno));
                MERO_EXIT(1);
        }
-       d->pid = getpid();
-       d->type = MERO;
-       d->dbname = "discovery";
-       d->next = NULL;
-       d->flag = 0;
 
        /* separate entry for the control runner */
+       dpcont = (struct _dpair) {
+               .fork_lock = PTHREAD_MUTEX_INITIALIZER,
+               .pid = getpid(),
+               .type = MERO,
+               .dbname = "control",
+       };
        d = d->next = &dpcont;
        pthread_mutex_init(&d->fork_lock, NULL);
        if (pipe2(pfd, O_CLOEXEC) == -1) {
@@ -890,11 +894,6 @@ main(int argc, char *argv[])
                                 strerror(errno));
                MERO_EXIT(1);
        }
-       d->pid = getpid();
-       d->type = MERO;
-       d->dbname = "control";
-       d->next = NULL;
-       d->flag = 0;
 
        if ((thret = pthread_create(&tid, NULL, logListener, NULL)) != 0) {
                Mfprintf(oerr, "%s: FATAL: unable to create logthread: %s\n",
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to