Files
hakmem/tests/mt_smoke.c

29 lines
614 B
C

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define NTHREADS 4
#define ITERS 100000
static void* worker(void* arg) {
(void)arg;
for (int i=0;i<ITERS;i++) {
size_t sz = (size_t)((i & 63) + 8);
void* p = malloc(sz);
if (!p) abort();
((uint8_t*)p)[0] = (uint8_t)i;
free(p);
}
return NULL;
}
int main(void) {
pthread_t th[NTHREADS];
for (int i=0;i<NTHREADS;i++) pthread_create(&th[i], NULL, worker, NULL);
for (int i=0;i<NTHREADS;i++) pthread_join(th[i], NULL);
puts("[OK] mt_smoke done");
return 0;
}