release.c
来自「中科院徐志伟老师一书《操作系统 原理·技术与编程》的源代码和习题接」· C语言 代码 · 共 16 行
C
16 行
#include "shm.h"
void release(void) { /* Detach shared memory if it is attached */
union semun semarg;
if ( shmp != 0 && shmp != (char *)(-1) )
if ( shmdt(shmp) == -1 )
perror("shmdt()");
if ( shmid != -1 )
if ( shmctl(shmid,IPC_RMID,0) == -1 ) /* Destroy shared memory */
perror("shmctl(IPC_RMID)");
if ( semid != -1 )
if ( semctl(semid,0,IPC_RMID,semarg) == -1 ) /* Destroy semaphore */
perror("semctl(IPC_RMID)");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?