没有mmap的pthread互斥可能吗?

时间:2012-10-24 08:41:55

标签: memory pthreads fork parent mmap

在linux上使用copy-on-write forking。在父级中创建pthread进程间互斥时,它是否会在子级中有效,或者只有在将其映射到共享内存时它才会起作用?

1 个答案:

答案 0 :(得分:2)

调用fork()时,整个内存空间都是重复的,包括互斥锁,所以为了回答你的问题,新的互斥锁将是父虚拟互斥锁的副本,所以你必须mmap它。 / p>

注意: 您需要使用PTHREAD_PROCESS_SHARED在互斥锁属性上设置pthread_mutexattr_getpshared()标记。