|
|
1.1 root 1: #include <stdio.h>
2: int workcount = 0;
3:
4: main()
5: {
6: int nwork, ch, work();
7:
8: printf("Enter cycles of work to do: ");
9: /* scanf("%d",&nwork); */
10: nwork = 1000;
11: ch = getc(CONSOLE);
12: printf("Got %c %d\n",ch,nwork);
13: resume(create(work,500,20,"worker",1,nwork));
14: printf("Parent back from resume of child\n");
15: while (1)
16: {
17: getc(CONSOLE); /* wait for <CR> from keyboard */
18: printf("worker at # %d\n",workcount);
19: }
20: }
21:
22: work(ncycles)
23: {
24: int i;
25: printf("child starting, ncycles=%d...\n",ncycles);
26: for (i=1;i<=ncycles;i++)
27: {
28: docycle(i); /* do ith work cycle */
29: workcount++; /* count it where parent can see it */
30: }
31: }
32:
33: docycle(n)
34: int n;
35: {
36: int i;
37: for (i=0;i<n;i++);
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.