Changeset: 0b7b62ee3aea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0b7b62ee3aea
Modified Files:
        clients/examples/C/testcondvar.c
        gdk/gdk_system.c
        monetdb5/modules/mal/mal_mapi.c
Branch: default
Log Message:

If name for new thread contains "XXXX", replace that with thread ID.


diffs (64 lines):

diff --git a/clients/examples/C/testcondvar.c b/clients/examples/C/testcondvar.c
--- a/clients/examples/C/testcondvar.c
+++ b/clients/examples/C/testcondvar.c
@@ -149,9 +149,7 @@ main(void)
        fprintf(stderr, "\n-- Starting the worker threads\n");
        for (int i = 0; i < NN; i++) {
                struct state *st = &states[i];
-               char name[MT_NAME_LEN];
-               snprintf(name, sizeof(name), "worker%d", i);
-               MT_create_thread(&st->id, worker, st, MT_THR_JOINABLE, name);
+               MT_create_thread(&st->id, worker, st, MT_THR_JOINABLE, 
"workerXXXX");
        }
        MT_sleep_ms(100);
 
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -824,6 +824,13 @@ MT_create_thread(MT_Id *t, void (*f) (vo
        };
        ATOMIC_INIT(&self->exited, 0);
        strcpy_len(self->threadname, threadname, sizeof(self->threadname));
+       char *p;
+       if ((p = strstr(self->threadname, "XXXX")) != NULL) {
+               /* overwrite XXXX with thread ID */
+               char buf[5];
+               snprintf(buf, 5, "%04zu", mtid % 9999);
+               memcpy(p, buf, 4);
+       }
        TRC_DEBUG(THRD, "Create thread \"%s\"\n", self->threadname);
 #ifdef HAVE_PTHREAD_H
 #ifdef HAVE_PTHREAD_SIGMASK
diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c
--- a/monetdb5/modules/mal/mal_mapi.c
+++ b/monetdb5/modules/mal/mal_mapi.c
@@ -442,13 +442,11 @@ SERVERlistenThread(SOCKET *Sock)
                        goto stream_alloc_fail;
                }
                data->out = s;
-               char name[MT_NAME_LEN];
-               snprintf(name, sizeof(name), "client%d", (int) 
ATOMIC_INC(&threadno));
 
                /* generate the challenge string */
                generateChallenge(data->challenge, 8, 12);
 
-               if (MT_create_thread(&tid, doChallenge, data, MT_THR_DETACHED, 
name) < 0) {
+               if (MT_create_thread(&tid, doChallenge, data, MT_THR_DETACHED, 
"clientXXXX") < 0) {
                        mnstr_destroy(data->in);
                        mnstr_destroy(data->out);
                        GDKfree(data);
@@ -974,13 +972,11 @@ SERVERclient(void *res, const Stream *In
                GDKfree(data);
                throw(MAL, "mapi.SERVERclient", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
        }
-       char name[MT_NAME_LEN];
-       snprintf(name, sizeof(name), "client%d", (int) ATOMIC_INC(&threadno));
 
        /* generate the challenge string */
        generateChallenge(data->challenge, 8, 12);
 
-       if (MT_create_thread(&tid, doChallenge, data, MT_THR_DETACHED, name) < 
0) {
+       if (MT_create_thread(&tid, doChallenge, data, MT_THR_DETACHED, 
"clientXXXX") < 0) {
                mnstr_destroy(data->in);
                mnstr_destroy(data->out);
                GDKfree(data);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to