cpp-ipc icon indicating copy to clipboard operation
cpp-ipc copied to clipboard

跨进程shm存放rw_lock/spin_lock是否安全

Open sixsixQAQ opened this issue 8 months ago • 1 comments

看到rw_lock和spin_lock好像可以直接放到共享内存shm中,用来同步不同进程的访问。

比较担心不同进程(32位/64位)中rw_lock和spin_lock 的结构体对齐/布局不一致,以及版本兼容问题。

希望可以提供例子,或者更多文档描述。

sixsixQAQ avatar Apr 15 '25 13:04 sixsixQAQ

rw_lock和spin_lock不能混用。目前代码里32位/64位混用确实会出问题,之前疏忽了,内部字段改为uint32_t会更好些。我提个pr吧。 参考:https://www.reddit.com/r/cprogramming/comments/uja192/size_of_unsigned_long_on_32bit_and_64bit_system/

mutouyun avatar Apr 20 '25 05:04 mutouyun