gpt4 book ai didi

pthreads - PTHREAD_MUTEX_ROBUST 与 PTHREAD_MUTEX_ROBUST_NP

转载 作者:行者123 更新时间:2023-12-01 08:06:49 26 4
gpt4 key购买 nike

我编写了一些代码(在 Linux 下运行),使用 pthread 健壮的互斥锁进行死锁恢复。

在 Centos 5 下,互斥锁的名称是 PTHREAD_MUTEX_ROBUST_NP。但是在 Fedora 16 下,_NP 后缀已被删除。

Posix 标准不包括后缀。后缀是什么意思,它是什么时候删除的,以及使用该功能的任一命名来编译代码的正确方法是什么。

编辑:所以看起来在后面的 pthread 中后缀被删除了。但是,定义 _GNU_SOURCE 会重新定义“_np”版本,因此源代码可以在任一版本下编译。

最佳答案

正如 cnicutar 已经建议的那样,_NP 代表不可移植,并由想要添加标准中不(或尚未)的功能的实现附加。该标准将只考虑包括在至少一个主要实现中实现的功能,并被证明是有用的,并且使用现有的标准功能无法轻易实现。

Fedora 通常使用比 RHEL(或 CentOS)更新的库版本,并且可能删除了 _np,因为强大的互斥锁和相关的 API 已被标准接受。

关于pthreads - PTHREAD_MUTEX_ROBUST 与 PTHREAD_MUTEX_ROBUST_NP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080640/

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