#include <u.h>
#include <libc.h>
enum {
N = 1 * 1000*1000,
};
int tag1;
int tag2;
void
thread(void)
{
int i;
for(i = 0; i < N; i++){
while(rendezvous(&tag1, nil) == (void*)-1)
;
while(rendezvous(&tag2, nil) == (void*)-1)
;
}
}
void
main(void)
{
switch(rfork(RFPROC|RFMEM)){
case -1:
sysfatal("fork: %r");
case 0:
thread();
exits("");
default:
thread();
wait();
exits("");
}
}
|