powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / linux shm c++11 проблема
2 сообщений из 2, страница 1 из 1
linux shm c++11 проблема
    #39414270
nagisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сразу уточняю что на сях пишу эпизодически со всеми вытекающими

написав недавно www.sql.ru/forum/1245158/demon-pod-linuks
разобрался с shm и захотел применить этот опыт в новой задачке, только теперь понадобился мне синтаксис c++11
для этого на виртуалку (centos 6) для разработки поставил gcc 4.8 - см https://edwards.sdsu.edu/research/c11-on-centos-6/
примеры с++11 собираются, все хорошо, но проблема пришла откуда не ожидал - перестал работать код с mmap

те в демоне я инициализирую shm, произвожу подготовку памяти
потом стартую дочерний процесс который тоже использует shm
и именно в этом процессе mmap перестал работать

Код: plaintext
1.
2.
3.
4.
shmmode = O_CREAT; 
if ( (shmdata = shm_open(SHM_DATA_NAME, shmmode|O_RDWR, S_IRWXO|S_IRWXG|S_IRWXU)) == -1 )   { обработчик ошибки		}
if ( (shmdataaddr = (int*) mmap(0, count_packet*sizeof(fifo_record_t), PROT_WRITE|PROT_READ, MAP_SHARED, shmdata, 0)) == (int*)-1 )
    	{ обработчик ошибки		}



при этом, этот код на другой машине без c++11 собирается нормально и работает на обоих машинах нормально

подскажите, что не так ?
я понимаю что можно откатить на обычный c++ но фичи 11-ого вполне полезны (или это еще слишком сыро ?)
...
Рейтинг: 0 / 0
linux shm c++11 проблема
    #39414307
nagisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно закрыть. нашел ошибку, следствием которой стало мапирование иного размера, и как следствие матюг от mmap
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / linux shm c++11 проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]