//semaphores
int semid;
if((semid = semget(1000,1,0666|IPC_CREAT))<0)//create or open a semaphores
{
printf("Can't create or open semaphores 1000!\n");
//return -1;
}
semctl(semid,0,SETVAL,1);//set the value:1
struct sembuf sP,sV;//set the operate of P and V
sP.sem_num = 0;
sP.sem_op = -1;
sP.sem_flg = sP.sem_flg & ~IPC_NOWAIT;