Belle II Software
release-05-01-25
SharedMem.h
1
#ifndef SHAREDMEM_H
2
#define SHAREDMEM_H
3
//+
4
// File : sharedmem.h
5
// Description : shared memory library for communication among processes
6
//
7
// Author : Ryosuke Itoh, IPNS, KEK
8
// Date : 11 - Dec - 2002
9
//-
10
11
#include <sys/types.h>
12
13
#include <string>
14
15
namespace
Belle2
{
20
class
SharedMem
{
21
public
:
22
SharedMem
(
const
char
* name,
int
size);
23
SharedMem
(
int
shm_id);
24
SharedMem
(
int
shm_id,
int
sem_id,
int
size);
25
~
SharedMem
(
void
);
26
27
void
* ptr(
void
);
28
int
shmid(
void
);
29
30
bool
IsCreated(
void
);
31
32
void
lock();
33
void
unlock();
34
bool
isLocked();
35
36
private
:
37
bool
m_new
;
38
bool
m_file;
39
std::string m_pathname;
40
int
m_pathfd;
41
key_t
m_shmkey
;
42
key_t
m_semkey
;
44
int
m_shmid;
45
int
m_semid;
46
void
* m_shmadr;
47
int
m_shmsize;
48
char
* m_strbuf;
49
};
51
}
52
53
#endif
54
Belle2::SharedMem::m_semkey
key_t m_semkey
Semaphore key.
Definition:
SharedMem.h:42
Belle2::SharedMem::m_new
bool m_new
True if we created the ring buffer ourselves (and need to clean it).
Definition:
SharedMem.h:37
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::SharedMem
Definition:
SharedMem.h:20
Belle2::SharedMem::m_shmkey
key_t m_shmkey
Associated file descriptor.
Definition:
SharedMem.h:41
daq
rfarm
manager
include
SharedMem.h
Generated on Fri Nov 5 2021 03:49:42 for Belle II Software by
1.8.17