| 14 | #define AO_ADD(ptr, val) ((void)AO_ADD_F((ptr), (val))) |
| 15 | |
| 16 | ProcessSync::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 | |
| 32 | ProcessSync::~ProcessSync() |
| 33 | { |
nothing calls this directly
no outgoing calls
no test coverage detected