Официальный форум СВД Встраиваемые Системы
24 Апрель, 2024, 14:08:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Синхронизация потоков сигналами реального времени  (Прочитано 719 раз)
Фазлов н.с
Интересующийся

Сообщений: 1


« : 22 Май, 2020, 10:09:03 »

Здраствуйте !
Вопрос по синхронизации потоков  реального времени по сигналам.
Тестовая задача:
-создать 2 потока реального времени.
- интервал запуска потока обеспечивается интервальным таймером.
- каждый потока имеет:
   свой таймер,временной  интервал, приоритет, сигнал реального времемени (из диапазона SIGRTMIN SIGRTMAX).
  Таймер по истечении  временного интервала  генерирует событе со своим номером.
  Поток находится  в режиме  ожидания сигнала от таймера ( sigwait(&set, &sigw)Wink.
  По приходу сигнала от  таймера , поток должен выполнить определённые опрерацию
  (у меня увеличть счетчик).
Если использовать в задаче специальные  сигналы SIGRTMAX + 7,SIGRTMAX + 8 ,то задача выполняется.
Если использовать сигналы реального времени SIGRTMIN+1,SIGRTMIN+2 , то задача не выполняется
Потоки переходят в режим SUSPEND  и работают только по нажатию кнопки RESUME. (см. скриншот )
При этом в процессе сделан  перевод сигналов реального времени в специальные сигналы по документации.
(Операционная система реального времени QNX Neutrino 6.5.Системная архитектура.
Межзадачное взаимодействие в ОС QNX Neutrino. События.)

Текст из программы:

struct sigaction action;

sigemptyset(&set);

sigaddset(&set,SIGNALTIMER100);

sigaddset(&set,SIGNALTIMER50);

act.__sa_un._sa_handler= SIG_DFL;

act.sa_flags =SA_SIGINFO;

sigaction(SIGNALTIMER100, &act, NULL);

sigaction(SIGNALTIMER50, &act, NULL);

sigprocmask(SIG_BLOCK, &set, NULL);//

   
Подскажите где ошибка ?  Может дадите ссылку на пример реализации  таких потоков?
Почему сигналы не  становятся "специальными".
 Текст  программы прикладываю.
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 02 Декабрь, 2022, 00:40:34