//pxsem/prodcons1.c
void *
produce(void *arg)
{
	int		i;

	for (i = 0; i < nitems; i++) {
		Sem_wait(shared.nempty);	/*    */
		Sem_wait(shared.mutex);
		shared.buff[i % NBUFF] = i;	/*  i    */
		Sem_post(shared.mutex);
		Sem_post(shared.nstored);	/*   1  */
	}
	return(NULL);
}

void *
consume(void *arg)
{
	int		i;

	for (i = 0; i < nitems; i++) {
		Sem_wait(shared.nstored);		/*      */
		Sem_wait(shared.mutex);
		if (shared.buff[i % NBUFF] != i)
			printf("buff[%d] = %d\n", i, shared.buff[i % NBUFF]);
		Sem_post(shared.mutex);
		Sem_post(shared.nempty);		/*     */
	}
	return(NULL);
}
