xref: /dragonfly/test/testcases/mem/mmap_1/mmap_1.c (revision 86d7f5d3)
1*86d7f5d3SJohn Marino /* Testcase for issue1343 */
2*86d7f5d3SJohn Marino #include <stdio.h>
3*86d7f5d3SJohn Marino #include <stdlib.h>
4*86d7f5d3SJohn Marino #include <pthread.h>
5*86d7f5d3SJohn Marino #include <sys/types.h>
6*86d7f5d3SJohn Marino #include <dirent.h>
7*86d7f5d3SJohn Marino #include <errno.h>
8*86d7f5d3SJohn Marino #include <unistd.h>
9*86d7f5d3SJohn Marino 
10*86d7f5d3SJohn Marino 
11*86d7f5d3SJohn Marino 
tester(void * arg)12*86d7f5d3SJohn Marino void* tester(void *arg)
13*86d7f5d3SJohn Marino {
14*86d7f5d3SJohn Marino 	sleep(2);
15*86d7f5d3SJohn Marino }
16*86d7f5d3SJohn Marino 
main(int argc,char * argv[])17*86d7f5d3SJohn Marino int main(int argc, char *argv[])
18*86d7f5d3SJohn Marino {
19*86d7f5d3SJohn Marino 	int i, ret, nthreads;
20*86d7f5d3SJohn Marino 	pthread_t th;
21*86d7f5d3SJohn Marino 	pthread_t *threads;
22*86d7f5d3SJohn Marino 
23*86d7f5d3SJohn Marino 	if (argc <= 1)
24*86d7f5d3SJohn Marino 	{
25*86d7f5d3SJohn Marino 		printf("Need one argument\n");
26*86d7f5d3SJohn Marino 		exit(1);
27*86d7f5d3SJohn Marino 	}
28*86d7f5d3SJohn Marino 
29*86d7f5d3SJohn Marino 	nthreads = atoi(argv[1]);
30*86d7f5d3SJohn Marino 	threads = malloc(nthreads * sizeof(pthread_t));
31*86d7f5d3SJohn Marino 	if (threads == NULL)
32*86d7f5d3SJohn Marino 		return 2;
33*86d7f5d3SJohn Marino 
34*86d7f5d3SJohn Marino 	printf("Trying with %d threads\n", nthreads);
35*86d7f5d3SJohn Marino 
36*86d7f5d3SJohn Marino 	printf("Creating tester threads\n");
37*86d7f5d3SJohn Marino 	for (i = 0; i < nthreads; i++)
38*86d7f5d3SJohn Marino 		pthread_create(&threads[i], NULL, tester, NULL);
39*86d7f5d3SJohn Marino 
40*86d7f5d3SJohn Marino 	sleep(5);
41*86d7f5d3SJohn Marino 
42*86d7f5d3SJohn Marino 	printf("Starting join procedure...\n");
43*86d7f5d3SJohn Marino 	for (i = 0; i < nthreads; i++)
44*86d7f5d3SJohn Marino 		pthread_join(threads[i], NULL);
45*86d7f5d3SJohn Marino 
46*86d7f5d3SJohn Marino 	printf("Done!\n");
47*86d7f5d3SJohn Marino 	return 0;
48*86d7f5d3SJohn Marino }
49