summaryrefslogtreecommitdiff
path: root/test/thread_arena.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/thread_arena.c')
-rw-r--r--test/thread_arena.c85
1 files changed, 0 insertions, 85 deletions
diff --git a/test/thread_arena.c b/test/thread_arena.c
deleted file mode 100644
index 6b9bc9cf..00000000
--- a/test/thread_arena.c
+++ /dev/null
@@ -1,85 +0,0 @@
-#define JEMALLOC_MANGLE
-#include "jemalloc_test.h"
-
-#define NTHREADS 10
-
-void *
-je_thread_start(void *arg)
-{
- unsigned main_arena_ind = *(unsigned *)arg;
- void *p;
- unsigned arena_ind;
- size_t size;
- int err;
-
- p = malloc(1);
- if (p == NULL) {
- malloc_printf("%s(): Error in malloc()\n", __func__);
- return (void *)1;
- }
- free(p);
-
- size = sizeof(arena_ind);
- if ((err = mallctl("thread.arena", &arena_ind, &size, &main_arena_ind,
- sizeof(main_arena_ind)))) {
- malloc_printf("%s(): Error in mallctl(): %s\n", __func__,
- strerror(err));
- return (void *)1;
- }
-
- size = sizeof(arena_ind);
- if ((err = mallctl("thread.arena", &arena_ind, &size, NULL,
- 0))) {
- malloc_printf("%s(): Error in mallctl(): %s\n", __func__,
- strerror(err));
- return (void *)1;
- }
- assert(arena_ind == main_arena_ind);
-
- return (NULL);
-}
-
-int
-main(void)
-{
- int ret = 0;
- void *p;
- unsigned arena_ind;
- size_t size;
- int err;
- je_thread_t threads[NTHREADS];
- unsigned i;
-
- malloc_printf("Test begin\n");
-
- p = malloc(1);
- if (p == NULL) {
- malloc_printf("%s(): Error in malloc()\n", __func__);
- ret = 1;
- goto label_return;
- }
-
- size = sizeof(arena_ind);
- if ((err = mallctl("thread.arena", &arena_ind, &size, NULL, 0))) {
- malloc_printf("%s(): Error in mallctl(): %s\n", __func__,
- strerror(err));
- ret = 1;
- goto label_return;
- }
-
- for (i = 0; i < NTHREADS; i++) {
- je_thread_create(&threads[i], je_thread_start,
- (void *)&arena_ind);
- }
-
- for (i = 0; i < NTHREADS; i++) {
- intptr_t join_ret;
- je_thread_join(threads[i], (void *)&join_ret);
- if (join_ret != 0)
- ret = 1;
- }
-
-label_return:
- malloc_printf("Test end\n");
- return (ret);
-}