【发布时间】:2012-03-21 12:47:03
【问题描述】:
我想跨进程使用共享内存并想使用robust pthread mutexes,因为当持有互斥锁的进程死亡时,它们可以帮助解决问题。我唯一担心的是,它们是否可以跨不同平台移植——不同版本的 linux,然后也可以在不同的操作系统上移植? pthread.h 的早期版本只有_NP 版本的PTHREAD_MUTEX_ROBUST 属性。我在网上找不到太多关于可移植性的文档。
非常感谢您对此的任何回应。
【问题讨论】:
我想跨进程使用共享内存并想使用robust pthread mutexes,因为当持有互斥锁的进程死亡时,它们可以帮助解决问题。我唯一担心的是,它们是否可以跨不同平台移植——不同版本的 linux,然后也可以在不同的操作系统上移植? pthread.h 的早期版本只有_NP 版本的PTHREAD_MUTEX_ROBUST 属性。我在网上找不到太多关于可移植性的文档。
非常感谢您对此的任何回应。
【问题讨论】:
POSIX 要求 pthread_mutexattr_getrobust。因此所有POSIX compliant systems 都应该支持它。另请注意,pthread_mutexattr_getrobust 是在第 7 期中首次引入的。即POSIX:2008 请在您要移植的系统上进行检查。
在最新的 linux 变种上,我认为你应该是安全的。
【讨论】: