msleep 子例程
用途
当信号量繁忙时,将进程置于休眠状态。
库
标准 C 库 (libc.a)
语法
描述
姆斯莱姆 子例程用于在信号量繁忙时将调用进程置于休眠状态。 该信号量应位于共享内存区域中。 使用 mmap 子例程来创建共享内存部分。
姆塞马普霍尔 结构中的所有值都必须由 msem_init 子例程调用产生。 跟在该调用后可能是 msem_lock 子例程或 msem_unlock 子例程的调用序列,也可能不是。 如果 姆塞马普霍尔 结构值以另一种方式产生,那么 姆斯莱姆 子例程的结果未定义。
msemaphore 结构的地址为有效数字。 应该注意不要修改该结构的地址。 如果该结构包含从另一地址处的 姆塞马普霍尔 结构复制的值,那么 姆斯莱姆 子例程的结果未定义。
参数
| 项 | 描述 |
|---|---|
| 塞姆 | 指向指定了信号量的 姆塞马普霍尔 结构。 |
错误代码
如果 姆斯莱姆 子例程不成功,那么 错误号 全局变量将设置为下列其中一个值:
| 项 | 描述 |
|---|---|
| EFAULT | 指示 塞姆 参数指向无效地址或该地址不包含有效的 姆塞马普霍尔 结构。 |
| EINTR | 指示正在调用 姆斯莱姆 子例程的进程在休眠时被信号中断。 |