Не удалось подключить общую память ⇐ Linux
Не удалось подключить общую память
Я создаю две общие памяти между родительским и дочерним процессами с одним и тем же кодом, за исключением того, что вторая память больше. Первый работает хорошо. Но я не могу подключить вторую память к дочернему процессу.
обновление:
У меня есть следующие результаты:
[*]
Возвращаемое значение shmat() в дочернем процессе — 0xffffffff.
[*]
Я проверил значение ограничения размера общей памяти на своем компьютере. Предел больше, чем мне нужно.
[*]
errno — 12: невозможно выделить память. Я использую GDB для отладки родительского и дочернего процесса. После того, как родитель создает общую память, я пишу отдельную программу для подключения памяти, она работает! Я могу видеть общую память с помощью ipcs -m.
[*]
Если я использую меньший размер, вторая общая память также работает.
Как решить проблему?
Я создаю две общие памяти между родительским и дочерним процессами с одним и тем же кодом, за исключением того, что вторая память больше. Первый работает хорошо. Но я не могу подключить вторую память к дочернему процессу.
обновление:
У меня есть следующие результаты:
[*]
Возвращаемое значение shmat() в дочернем процессе — 0xffffffff.
[*]
Я проверил значение ограничения размера общей памяти на своем компьютере. Предел больше, чем мне нужно.
[*]
errno — 12: невозможно выделить память. Я использую GDB для отладки родительского и дочернего процесса. После того, как родитель создает общую память, я пишу отдельную программу для подключения памяти, она работает! Я могу видеть общую память с помощью ipcs -m.
[*]
Если я использую меньший размер, вторая общая память также работает.
Как решить проблему?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение