现在我正在处理我的项目,我有一个关于信号量初始化的问题.实际上我是在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)