1#include <stdio.h>
2#include <stdlib.h>
3#include <dispatch/dispatch.h>
4
5int main(int argc, char *argv[])
6{
7	char **envp = { NULL };
8	char *mycount = "1";
9	char *nargvp[] = { argv[0], mycount , NULL};
10	char *progpath = argv[0];
11	char buf[50];
12	char oldcount[30];
13	int envcount=0;
14	if (argc >= 2){
15		envcount = atoi(argv[1]);
16		printf("count = %d \n", envcount);
17		sprintf(buf, "%d", envcount+1);
18		nargvp[1] = buf;
19	}
20	char **nargvpp = nargvp;
21	if (envcount < 8 )
22		fork();
23	if (envcount > 320)
24		exit(0);
25	dispatch_apply(32,
26		       dispatch_get_global_queue(0,0),
27		       ^(size_t i __attribute__((unused))) {
28		execve(progpath,nargvpp,envp);
29	});
30
31	return 0;
32}
33