msleep 子例程

用途

当信号量繁忙时,将进程置于休眠状态。

标准 C 库 (libc.a)

语法

#include <sys/mman.h>

int msleep (Sem)
msemaphore * Sem;

描述

姆斯莱姆 子例程用于在信号量繁忙时将调用进程置于休眠状态。 该信号量应位于共享内存区域中。 使用 mmap 子例程来创建共享内存部分。

姆塞马普霍尔 结构中的所有值都必须由 msem_init 子例程调用产生。 跟在该调用后可能是 msem_lock 子例程或 msem_unlock 子例程的调用序列,也可能不是。 如果 姆塞马普霍尔 结构值以另一种方式产生,那么 姆斯莱姆 子例程的结果未定义。

msemaphore 结构的地址为有效数字。 应该注意不要修改该结构的地址。 如果该结构包含从另一地址处的 姆塞马普霍尔 结构复制的值,那么 姆斯莱姆 子例程的结果未定义。

参数

描述
塞姆 指向指定了信号量的 姆塞马普霍尔 结构。

错误代码

如果 姆斯莱姆 子例程不成功,那么 错误号 全局变量将设置为下列其中一个值:

描述
EFAULT 指示 塞姆 参数指向无效地址或该地址不包含有效的 姆塞马普霍尔 结构。
EINTR 指示正在调用 姆斯莱姆 子例程的进程在休眠时被信号中断。