gpt4 book ai didi

c++ - 获取 POSIX 信号量的名称

转载 作者:IT王子 更新时间:2023-10-29 01:19:16 26 4
gpt4 key购买 nike

有什么方法可以在 C++ 中根据其 ID (sem_t) 获取 POSIX 命名信号量的名称?

感谢大家最诚挚的问候。

最佳答案

不幸的是,没有。没有 sem_name (或者随便你怎么调用它)函数在 POSIX semaphore spec 中.也没有特定于 Linux 的解决方法,因为它不提供 sem_name两者都不会将名称存储在 sem_t 中,在 <bits/semaphore.h> 中定义作为

typedef union
{
char __size[__SIZEOF_SEM_T];
long int __align;
} sem_t;

文件 /proc/sys/kernel/sem/proc/sysvipc/sem似乎也不包含此信息。

因此,最好的选择是在执行 sem_open 时自己存储名称,最好在包装类中。参见 this answer对于示例包装器类。

关于c++ - 获取 POSIX 信号量的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127072/

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