#include <u.h>
#include <libc.h>
#include "mylock.h"
Lock sem1;
uchar buffer[128];
Lock sem2;
uchar buffer2[128];
void
thread1(void)
{
int i;
for(i = 0; i < 1000000; i++){
lock(&sem1);
unlock(&sem2);
}
exits("");
}
void
thread2(void)
{
int i;
for(i = 0; i < 1000000; i++){
unlock(&sem1);
lock(&sem2);
}
exits("");
}
void
main(void)
{
switch(rfork(RFPROC|RFMEM)){
case -1:
sysfatal("fork: %r");
case 0:
thread2();
default:
thread1();
}
}
|