boost :: mpi блокирует ввод-вывод, не прерываемый сигналами linux

Я использую boost :: mpi, OpenMPI. boost :: mpi :: communator :: recv (блокирующая версия) не прерывается сигналами Linux. Как можно правильно завершить мою программу с помощью сигнала SIGTERM?

3

Решение

Проблема была решена:
1. Все узлы, кроме главного, игнорируют сигналы.
2. Главный узел игнорирует сигналы, кроме одного потока (этот поток вызывает функцию паузы POSIX). Когда пауза прервана, сообщения об остановке mpi отправляются всем узлам.
Таким образом, все узлы прекращают свою работу.

0

Другие решения


По вопросам рекламы [email protected]