└── semaphore /semaphore: -------------------------------------------------------------------------------- 1 | #define BUFFERSIZE 10 2 | int mutex,n,empty,full=0,item,item1; 3 | int buffer[20]; 4 | int in=0,out=0,mutex=1; 5 | void wait(int s) 6 | { 7 | } 8 | while(s<0) 9 | { 10 | } 11 | s--; 12 | printf(“\nCannot add an item\n”); exit(0); 13 | void signal(int s) 14 | { 15 | } 16 | s++; 17 | void producer() 18 | { 19 | } 20 | do 21 | { 22 | } 23 | wait (empty); 24 | wait(mutex); 25 | printf(“\nEnter an item:”); 26 | scanf(“%d”,&item); 27 | buffer[in]=item; 28 | in=in+1; 29 | signal(mutex); 30 | signal(full); 31 | while(in