Вопросы по теме 'boost-interprocess'

boost interprocess: общая память и типы stl
У меня есть простая структура: struct MyType { std::string name; std::string description; } и я помещаю его в общую память: managed_shared_memory sharedMemory(open_or_create, "name", 65535); MyType* pType =...
2945 просмотров
schedule 12.02.2023

Распределители C++, в частности передача аргументов конструктора объектам, выделенным с помощью boost::interprocess::cached_adaptive_pool
Это неловкий вопрос, но даже хорошо написанной документации, поставляемой с boost.interprocess, мне недостаточно, чтобы понять, как это сделать. У меня есть cached_adaptive_pool . экземпляр распределителя, и я хочу использовать его для создания...
1499 просмотров

boost::unordered_map с использованием boost::interprocess::cached_node_allocator Ошибка компиляции
Я пытаюсь создать boost::unordered_map в сегменте boost::interprocess::managed_shared_memory. Это работает нормально, пока я не попытаюсь перейти от использования boost::interprocess::allocator к boost::interprocess::cached_node_allocator. Похоже,...
933 просмотров

интерпроцесс Boost с именем мьютекс остается полученным после сбоя
Я использую boost::interpocess::scoped_lock , используя named_mutex и timeout ; Я работаю в ОС Linux. Во время одного из моих тестов у меня произошел сбой: с тех пор каждый раз, когда я пытаюсь снова запустить приложение, оно зависает на том...
3264 просмотров

Является ли boost::interprocess потокобезопасным?
В настоящее время у меня есть 2 процесса, которые взаимодействуют с помощью повышения формы message_queue и shared_memory. Все работает как присутствовал. Теперь мне нужно сделать один из этих процессов многопоточным (еще раз спасибо boost), и мне...
2676 просмотров

Увеличьте тип общей памяти
Я пытаюсь сделать следующее: Создайте «большой» массив (1 000 000 + объектов) в общей памяти с помощью библиотеки boost::interprocess. Мой код содержит следующее: managed_shared_memory testarray(create_only, "Test", 45000000); typedef...
782 просмотров
schedule 23.04.2022

Отображение несмежных блоков из файла в непрерывные адреса памяти
Меня интересует перспектива использования ввода-вывода с отображением памяти, предпочтительно с использованием возможностей boost :: interprocess для кросс-платформенной поддержки, чтобы отображать несмежные блоки системного размера страницы в файле в...
2656 просмотров

boost::interprocess::map вставка дает: неоднозначный вызов перегруженной функции
Я пытаюсь вставить некоторые значения в boost::interprocess::map, хранящиеся в общей памяти. Проблема в том, что он дает мне «неоднозначный вызов перегруженной функции», когда я пытаюсь его скомпилировать, и я не знаю, почему. Вот несколько...
1073 просмотров
schedule 12.07.2023

Отправить сложную структуру данных через очередь ускоренных сообщений
У меня есть следующая структура данных: typedef struct { short id; string name; short age; } person_struct; Используя ускоренную очередь сообщений, я попытался отправить эту структуру данных получателю очереди сообщений в другом...
10393 просмотров
schedule 16.08.2022

Создайте вектор строк с общей памятью
Я пытаюсь создать класс, управляющий вектором (std) строк в общей памяти. typedef boost::interprocess::allocator<std::string, boost::interprocess::managed_shared_memory::segment_manager> shmem_allocator; typedef...
9920 просмотров

Повышение стойкости межпроцессной блокировки
У меня есть следующий код, который дает сбой. Я подозреваю, что это из-за выделения ссылки на стек, из-за которого у меня возникла эта проблема. Но я хочу избежать затрат на выделение мьютекса в стеке и блокировку области действия каждый раз...
220 просмотров
schedule 15.04.2022

Boost межпроцессный message_queue имеет неконстантный get_num_msg(). Почему?
В boost 1.53 message_queue_t имеет эту функцию-член: size_type get_num_msg(); Это возвращает количество сообщений, сохраненных в настоящее время. Никогда не бросает. Я не вижу причин, по которым это не может быть константой.
126 просмотров
schedule 14.04.2023

Как отладить или исправить проблему бесконечного цикла и повреждения кучи, связанную с boost :: interprocess managed_shared_memory?
У меня есть следующее сообщение «исключение первого шанса», которое исходит из написанной мной библиотеки DLL, которая выполняется внутри исполняемого файла, который я не писал. То есть DLL - это плагин. Когда это исключение возникает в первый раз,...
2430 просмотров

создание scoped_lock максимум на 200 мс
Я пытаюсь создать временную блокировку мьютекса. Я думал, что использование api из boost может помочь, но мне трудно найти пример кода в качестве ссылки для его использования. scoped_lock(mutex_type & m, const boost::posix_time::ptime &...
58 просмотров

boost named_condition не пробуждает ожидающий процесс
У меня есть 2 процесса (производитель и потребитель), разделяющих очередь int в общей памяти, у меня есть процесс производителя, помещающий 2 числа в очередь, а затем он переходит в состояние ожидания, теряя блокировку мьютекса. Затем у меня есть...
819 просмотров

Segfault при записи в очередь с общей памятью
Я создал двухъядерную очередь Boost в общей памяти, используя управляемую общую память Boost. У меня есть один процесс (процесс A), который помещает данные в конец очереди, и другой процесс (процесс B), который читает из начала очереди и выталкивает...
458 просмотров

Безопасно ли использовать boost:: optional в межпроцессной памяти?
Пожалуйста, рассмотрите следующую структуру: struct ThingThatWillGoInSharedMemory { boost::optional<int> opt_value; }; Я использую boost::interprocess для создания области общей памяти. Мое понимание boost::Optional заключалось в...
1218 просмотров
schedule 24.10.2022

Что произойдет, если процесс завершится сбоем при сбросе сопоставленного файла?
Я использую boost::interprocess::managed_mapped_file для IPC под Linux. Короче говоря, один процесс может записывать объекты в файлы (метод construct ) для чтения другим процессом (метод find ). Однако что делать, если процесс падает во время...
337 просмотров

Boost.Interprocess — созданная управляемая_общая_память не может быть найдена
Я собираюсь использовать общую память для межпроцессного взаимодействия (очевидно;) между расширением (компонентом) xulrunner и плагином (NPAPI). Оба написаны на C++! Я следовал инструкциям увеличить документ библиотеки Теперь: создание общей...
774 просмотров
schedule 15.11.2022

ошибка: ‘size_type’ не является членом ‘boost::interprocess::message_queue’
Программа компилируется и работает в системе моих друзей правильно, но когда я пытаюсь выполнить ее в своей системе, в следующей строке отображается указанная выше ошибка. message_queue::size_type recvd_size; I am also included the namespace...
733 просмотров
schedule 22.09.2022