мьютекс с разделяемой памятью linux, структура с указателем на разделяемый мьютекс - PullRequest
0 голосов
/ 14 октября 2018

Я работаю над переносом существующего кода Windows в Linux, и я наткнулся на то, что не совсем уверен, как с этим справиться.

Код изначально является окнами RTX и должен быть детерминированным.Первое, с чем я столкнулся, это структура, которая содержит объекты семафора и мьютекса и устанавливает указатели на мьютекс и семафор для передачи / использования другими вызывающими объектами.

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

}

Другая часть этого заключается в том, что мьютекс в окнах назначается / доступ по имени.Другие процессы нуждаются в доступе к этому мьютексу, как мне сделать так, чтобы мьютекс мог быть разделен между несколькими процессами / потоком?

...