小编nik*_*gx2的帖子

使用信号量的一些问题

现在我正在处理我的项目,我有一个关于信号量初始化的问题.实际上我是在Mac OS X上编程,但我试图在Linux上编译我的项目并且它不能编译.在OS X上,它会编译,但每次只是在初始化时崩溃.

sem_t *mutex_1, *mutex_2, *mutex_3, *reader, *writer;

int initialization_semaphores (void) 
{
    int ERROR = EOK;
    if ((mutex_1 = mmap(NULL, sizeof(sem_t), PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, 0, 0)) == MAP_FAILED)
        ERROR = ESEM;
    if ((mutex_2 = mmap(NULL, sizeof(sem_t), PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, 0, 0)) == MAP_FAILED)
        ERROR = ESEM;
    if ((mutex_3 = mmap(NULL, sizeof(sem_t), PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, 0, 0)) == MAP_FAILED)
        ERROR = ESEM;
    if ((reader = mmap(NULL, sizeof(sem_t), PROT_READ | PROT_WRITE, …
Run Code Online (Sandbox Code Playgroud)

c synchronization semaphore

3
推荐指数
1
解决办法
919
查看次数

标签 统计

c ×1

semaphore ×1

synchronization ×1