mq_close.c
来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 49 行
C
49 行
/* Copyright 2002, Red Hat Inc. */#include <mqueue.h>#include <errno.h>#include <sys/sem.h>#define _LIBC 1#include <sys/lock.h>#undef _LIBC#include "mqlocal.h"intmq_close (mqd_t msgid){ struct libc_mq *info; struct sembuf sb0 = {0, -1, 0}; int rc; int semid; info = __find_mq (msgid); if (info == NULL) { errno = EBADF; return -1; } /* lock message queue */ semid = info->semid; rc = semop (semid, &sb0, 1); if (rc == 0) { __cleanup_mq (msgid); /* unlock message queue */ sb0.sem_op = 1; semop (semid, &sb0, 1); } return rc;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?