Project

General

Profile

Task #17844

Milestone #17719: Booster operational test of one crate alongside existing BPM system

Locking mechanism for shared memory objects

Added by John Diamond almost 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Start date:
10/09/2017
Due date:
% Done:

100%

Estimated time:
12.00 h
Spent time:
Duration:

Description

Implement a locking mechanism for records stored in a SharedMemoryTable.

History

#1 Updated by John Diamond almost 2 years ago

We can base this design on process-shared POSIX semaphores:

https://linux.die.net/man/7/sem_overview

#2 Updated by John Diamond almost 2 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

Created a template class called SHMClient<> that will lock the mutex inside the Record structure of the template parameter. The template parameter must provide a method called mutexGet() to provide access to the mutex.

Added locks to the ACNET code, cli code and DAQSystem code that deals with the shared memory Reading tables.



Also available in: Atom PDF