본문내용
se {
sem_union.val = 1;
status = semctl(semid, 0, SETVAL, sem_union);
}
if(semid==-1 || status==-1) {
perror("initsem");
return -1;
}
return semid;
}
int p(int semid, int flag) {
struct sembuf p_buf;
if(flag==1) {
printf("Product.. Wait for Critical Section Entering\n");
}
else {
printf("Customer.. Wait for Critical Section Entering\n");
}
p_buf.sem_num = 0;
p_buf.sem_op = -1;
p_buf.sem_flg = SEM_UNDO;
if(semop(semid, &p_buf, 1)==-1) {
perror("p(semid)");
return -1;
}
return -1;
}
int v(int semid, int flag) {
struct sembuf v_buf;
if(flag==1) {
printf("Product.. Critical Section Leaved\n");
}
else {
printf("Customer.. Critical Section Leaved\n");
}
v_buf.sem_num = 0;
v_buf.sem_op = 1;
v_buf.sem_flg = SEM_UNDO;
if(semop(semid, &v_buf, 1)==-1) {
perror("v(semid)");
return -1;
}
return 0;
}
sem_union.val = 1;
status = semctl(semid, 0, SETVAL, sem_union);
}
if(semid==-1 || status==-1) {
perror("initsem");
return -1;
}
return semid;
}
int p(int semid, int flag) {
struct sembuf p_buf;
if(flag==1) {
printf("Product.. Wait for Critical Section Entering\n");
}
else {
printf("Customer.. Wait for Critical Section Entering\n");
}
p_buf.sem_num = 0;
p_buf.sem_op = -1;
p_buf.sem_flg = SEM_UNDO;
if(semop(semid, &p_buf, 1)==-1) {
perror("p(semid)");
return -1;
}
return -1;
}
int v(int semid, int flag) {
struct sembuf v_buf;
if(flag==1) {
printf("Product.. Critical Section Leaved\n");
}
else {
printf("Customer.. Critical Section Leaved\n");
}
v_buf.sem_num = 0;
v_buf.sem_op = 1;
v_buf.sem_flg = SEM_UNDO;
if(semop(semid, &v_buf, 1)==-1) {
perror("v(semid)");
return -1;
}
return 0;
}
추천자료
독일경제
구조적분석
병렬 프로그램
e러닝에 대해 알아보고 기업 내 활용 및 도입사례와 전망에 대해 논하시오.
[디지털도서관]디지털도서관의 개념, 디지털도서관의 특징, 디지털도서관의 문제점, 디지털도...
고객의 평생가치(LTV)의 개념과 성공사례
[경영학A+] 마텔 리콜사태 사건개요 및 대응전략
윤리적 리더십의 경영자 리더십과 인격, 품성 이론
CEO 리더십의 실천원리와 원칙
erp 구축 방법론과 ERP 와 E-business
[공동체][공동체 유형][공동체 원리][공동체 활동][공동체 성공전략]공동체의 개념, 공동체의...
[기업 기법][원가추정기법][위험관리기법][기업설명회 기법][경영분석기법][고객만족경영기법...
CRM,CRM정의,CRM기능,CRM도입효과,CRM사례,CRM이란
OB맥주 경영분석과 OB맥주 국내외 경영전략분석 및 OB맥주 향후전략제안 레포트 (맥주시장, ...
소개글