创建信号量

//创建信号量

void CGetBillFileCfg::CreateSem()
{
    string strTemp = getenv("HOME");
    strTemp += "/rbirun";
    key_t key = ftok(strTemp.c_str(), 1);
    m_isemid = semget(key, 1, IPC_CREAT | 0666);
    if (m_isemid == -1)
    {
        DEBUG_LOG("fail to create semaphore");
    }
    else
    {
        //初始化信号量
        union semun sem_union;
        sem_union.val = 1;
        semctl(m_isemid, 0, SETVAL, sem_union);
    }
}

你可能感兴趣的:(创建信号量)