ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
382804
tnk_user (24.01.2013 16:29, просмотров: 739)
TNKernel: пользовался кто-нибудь флажком с атрибутом TN_EVENT_ATTR_MULTI ?Похоже, функция tn_event_set() не гарантирует пробуждение *всех* задач,ожидающих такой флажок. Функция, которая просматривает очередь ожидающихзадач (scan_event_waitqueue), прекращает сканирование на первом попадании: if (fCond) { queue_remove_entry (); ... if (task_wait_complete (task)) return 1; Это в версии TNKernel 2.6. В предыдущей версии (2.5) сканирование идётдо конца очереди (с пробуждением всех подходящих задач): if (fCond) { ... if (task_wait_complete (task, FALSE)) wcflag = 1;