Linux system V IPC 信号灯和共享内存实例(二)

2014-11-24 11:50:20 · 作者: · 浏览: 7
&V,1); //对mutexid执行 V 操作
semop(emptyid,&V,1); //对emptyid执行 V 操作

sleep(1);
}

printf("ConsunerB is over\n");
exit(0);
}
}
}


/* 父进程返回后回收3个子进程 */

wait(0);
wait(0);
wait(0);


/* 断开并撤消2个共享内存 */


shmdt(array);
shmctl(arrayid,IPC_RMID,0);
shmctl(get);
shmctl(getid,IPC_RMID,0);

/* 撤消3个信号量集 */


semctl(emptyid,IPC_RMID,0);
semctl(fullid,IPC_RMID,0);
semctl(mutexid,IPC_RMID,0);


exit(0);
}