#include #include #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(); } }