gpt4 book ai didi

c - 在 POSIX semop() 参数中,sem_flg = 0 的含义是什么

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:14 24 4
gpt4 key购买 nike

我正在检查 semop() 函数,结构 sembuf 的标志值可能是 SEM_UNDO 或 IPC_NOWAIT。那么如果我们将标志值作为 0 传递,那么行为会是什么?我在某处读到它是没有操作的。这意味着什么?谁能解释一下?

最佳答案

最好的办法是阅读规范——semop() 的 POSIX 规范解释一切。

如果该标志为 0,则意味着该操作可能会导致进程挂起等待信号量变为可用(如果该标志包含 IPC_NOWAIT,则不会挂起),并且它也意味着如果进程崩溃,信号量值将不会被调整以撤消操作(如果标志包括SEM_UNDO,系统将记录撤消信号量操作所需的信息。这是否被认为是安全的取决于您。

关于c - 在 POSIX semop() 参数中,sem_flg = 0 的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com