#include <assert.h>
#include <dirent.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
static const size_t kTestThreads = 10000;
static const size_t kTestThreadsBatch = 100;
void *null_func(void *args) {
return NULL;
}
int main(void) {
for (size_t i = 0; i < kTestThreads; i += kTestThreadsBatch) {
pthread_t thread[kTestThreadsBatch];
for (size_t j = 0; j < kTestThreadsBatch; ++j)
assert(pthread_create(&thread[j], NULL, null_func, NULL) == 0);
for (size_t j = 0; j < kTestThreadsBatch; ++j)
assert(pthread_join(thread[j], NULL) == 0);
}
return 0;
}