mq_close.c

来自「KPIT GNU Tools is a set of GNU developme」· 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 + -
显示快捷键?