linux共享内存互斥锁,带有指向共享互斥锁的指针的结构

时间:2018-10-14 20:18:00

标签: linux mutex

我正在努力将一些现有的Windows代码移植到linux上,但遇到了一些我不确定如何处理的事情。

该代码最初是RTX Windows,必须具有确定性。我遇到的第一件事是一个包含信号量和互斥对象的结构,并设置了指向互斥量和信号量的指针,以供其他调用者传递/使用。

volatile struct mystruct{
 volatile pthread_mutex_t   *qmutexid
 volatile sem_t             *qsemid
 volatile int               processID
 volatile int               msize
 volatile char              msgarray[]
}

此结构被转换为一块很大的内存,该数据具有通过链接列表队列进出的数据,但是信号量和互斥锁是确保完整性的必要条件。

我想知道的是,它们在分配指针后是否有效。

myfunctioninit (*qname, msg_size, depth)
{
struct muStruct    struct1
 pthread_mutex_t   mutexQueAccess

 status = pthread_mutex_init(&mutexQueAccess, null)

struct1->qmutexid = mutexAccess

}

另一部分是,窗口中的互斥锁是通过名称分配/访问的。其他进程需要访问此互斥锁,我该怎么做才能使互斥锁可以在多个进程/线程之间共享?

0 个答案:

没有答案