semop.c
来自「中科院徐志伟老师一书《操作系统 原理·技术与编程》的源代码和习题接」· C语言 代码 · 共 17 行
C
17 行
#include "shm.h"
void lockshm(int sem,int bvar) { /* Peform semaphore wait/notifies */
int z; /* Return status */
static struct sembuf sops = { 0, -1, 0 };
sops.sem_num = sem; /* Select semaphore */
sops.sem_op = bvar ? -1 : 1; /* Wait / Notify */
do {
z = semop(semid,&sops,1); /* Semaphore operation */
} while ( z == -1 && errno == EINTR );
if ( z == -1 ) {
perror("semop()");
exit(13);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?