У меня проблема с mmap. Некоторое время он работал нормально, но после 7 или 8 запусков он начал давать сбой на 2 экземплярах виртуализированного Linux.
Я действительно не знаю, как это исправить.
int shm_m = shm_open("/sharedMemory", O_CREAT | O_EXCL | O_RDWR, 0644);
ftruncate(shm_m, sizeof(int) * 3);
int *shared_ints;
if ((shared_ints = mmap(NULL, sizeof(int) * 3, PROT_READ | PROT_WRITE,
MAP_SHARED, shm_m, 0)) == (void *)-1)
{
printf("Memory mapping failed\n");
return 1;
}
shared_ints[0] = 1;
// Molo serfs
shared_ints[1] = 0;
// Molo hackers
shared_ints[2] = 0;