mcall 68,22Можно создать только две именованные области. При попытке создания третьей области поток вываливается.
Каждая именованная область создавалась в уникальном приложении (адресные пространства не пресекаются, не поток), имена областей отличаются. Если завершать одно из двух приложений, то можно снова запустить второе, но запуск третьего опять приведет к падению.
Attachment:
f6822.png [ 3.28 KiB | Viewed 6918 times ]
update 22.15 МСКСитуация еще хитрее, если области были просто запрошены, то запрос третьей приводит к вываливанию потока и всех дальнейших попыток получить новую именованную область. Однако если выделенную область какой-нибудь поток открыл на чтение-запись (при наличии разрешения на запись), то такая область возвращается ядру при закрытии всех использующих эту именнованную область процессов.
Программа демонстрирующая вылет на запросе третьей именнованной области в архиве. Запускаем последовательно 3 копии программы, на третьей наблюдаем вылет в BOARD и дальше вылеты, даже если закрыть две первые копии.
Attachment:
f6822_bug.7z [568 Bytes]
Downloaded 111 times