MCPcopy Create free account
hub / github.com/XpuOS/xsched / ProcessSync

Method ProcessSync

utils/src/psync.cpp:16–30  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14#define AO_ADD(ptr, val) ((void)AO_ADD_F((ptr), (val)))
15
16ProcessSync::ProcessSync()
17{
18 bool is_master = false;
19 shm_id_ = shmget(kShmKey, kSharedMemSize, 0666);
20 if (shm_id_ == -1) {
21 is_master = true;
22 shm_id_ = shmget(kShmKey, kSharedMemSize, IPC_CREAT | 0666);
23 }
24 XASSERT(shm_id_ != -1, "fail to create shared memory\n");
25 shm_ptr_ = (int *)shmat(shm_id_, nullptr, 0);
26 XASSERT(shm_ptr_, "fail to get shared memory\n");
27 if (is_master) {
28 memset((void *)shm_ptr_, 0, kSharedMemSize);
29 }
30}
31
32ProcessSync::~ProcessSync()
33{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected