xref: /dflybsd-src/test/testcases/mem/mmap_1/mmap_1.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /* Testcase for issue1343 */
286d7f5d3SJohn Marino #include <stdio.h>
386d7f5d3SJohn Marino #include <stdlib.h>
486d7f5d3SJohn Marino #include <pthread.h>
586d7f5d3SJohn Marino #include <sys/types.h>
686d7f5d3SJohn Marino #include <dirent.h>
786d7f5d3SJohn Marino #include <errno.h>
886d7f5d3SJohn Marino #include <unistd.h>
986d7f5d3SJohn Marino 
1086d7f5d3SJohn Marino 
1186d7f5d3SJohn Marino 
tester(void * arg)1286d7f5d3SJohn Marino void* tester(void *arg)
1386d7f5d3SJohn Marino {
1486d7f5d3SJohn Marino 	sleep(2);
1586d7f5d3SJohn Marino }
1686d7f5d3SJohn Marino 
main(int argc,char * argv[])1786d7f5d3SJohn Marino int main(int argc, char *argv[])
1886d7f5d3SJohn Marino {
1986d7f5d3SJohn Marino 	int i, ret, nthreads;
2086d7f5d3SJohn Marino 	pthread_t th;
2186d7f5d3SJohn Marino 	pthread_t *threads;
2286d7f5d3SJohn Marino 
2386d7f5d3SJohn Marino 	if (argc <= 1)
2486d7f5d3SJohn Marino 	{
2586d7f5d3SJohn Marino 		printf("Need one argument\n");
2686d7f5d3SJohn Marino 		exit(1);
2786d7f5d3SJohn Marino 	}
2886d7f5d3SJohn Marino 
2986d7f5d3SJohn Marino 	nthreads = atoi(argv[1]);
3086d7f5d3SJohn Marino 	threads = malloc(nthreads * sizeof(pthread_t));
3186d7f5d3SJohn Marino 	if (threads == NULL)
3286d7f5d3SJohn Marino 		return 2;
3386d7f5d3SJohn Marino 
3486d7f5d3SJohn Marino 	printf("Trying with %d threads\n", nthreads);
3586d7f5d3SJohn Marino 
3686d7f5d3SJohn Marino 	printf("Creating tester threads\n");
3786d7f5d3SJohn Marino 	for (i = 0; i < nthreads; i++)
3886d7f5d3SJohn Marino 		pthread_create(&threads[i], NULL, tester, NULL);
3986d7f5d3SJohn Marino 
4086d7f5d3SJohn Marino 	sleep(5);
4186d7f5d3SJohn Marino 
4286d7f5d3SJohn Marino 	printf("Starting join procedure...\n");
4386d7f5d3SJohn Marino 	for (i = 0; i < nthreads; i++)
4486d7f5d3SJohn Marino 		pthread_join(threads[i], NULL);
4586d7f5d3SJohn Marino 
4686d7f5d3SJohn Marino 	printf("Done!\n");
4786d7f5d3SJohn Marino 	return 0;
4886d7f5d3SJohn Marino }
49