tnk_user (24.01.2013 16:29, просмотров: 761)
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;