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]