25 Апрель, 2024, 17:42:19
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
English
Russian
Сайт СВД ВС
Начало
Помощь
Поиск
Войти
Регистрация
Официальный форум СВД Встраиваемые Системы
>
Форум СВД ВС
>
Техническая поддержка
(Модератор:
Андрей Сеньков
) >
Досрочное завершение потока
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Досрочное завершение потока (Прочитано 1892 раз)
Дмитрий
Пользователь
Сообщений: 59
Досрочное завершение потока
«
:
24 Июнь, 2013, 13:09:33 »
Здравствуйте!
Я создаю поток в QNX 4 функцией
Код:
stack1 (char*) malloc(STACK_SIZE);
_beginthread(tx_tread,stack1,STACK_SIZE,args);
Могу ли я досрочно завершить поток, не выходя из него?
Если да, то какой функцией?
«
Последнее редактирование: 25 Июнь, 2013, 07:17:21 от Дмитрий
»
Записан
Василий Дмитриев
Ветеран
Сообщений: 364
Досрочное завершение потока
«
Ответ #1 :
25 Июнь, 2013, 09:25:43 »
_endthread()
А вообще я еще не видел доки более дружественной нежели чем в qnx4, а ссылка на _endthread прямо в топике про _beginthread. Присутствует и в экзампле. Короче, если что-то не получается, читайте инструкцию. Единственное чем бы я озаботился дополнительно, это обработкой сигнала SIGCHLD в родительском процессе.
Записан
Санкции! Запрещаю Бараку Обаме и членам конгресса США читать мои посты!
Дмитрий
Пользователь
Сообщений: 59
Досрочное завершение потока
«
Ответ #2 :
26 Июнь, 2013, 08:19:54 »
извините, но _endthread не подходит, мне нужно завершить поток ВНЕ его.
т.е. функция _endtread вызывается из потока, а мне нужно закрыть его, зная имя потока.
В Linux есть аналогичная функция pthread_cancel(pthread);
Как сделать в QNX?
Записан
Антон Падалко
Пользователь
Сообщений: 41
Досрочное завершение потока
«
Ответ #3 :
26 Июнь, 2013, 10:30:00 »
функция _beginthread возвращает thread_id
соответственно для убийства потока используем:
kill(thread_id, SIGKILL);
Записан
Дмитрий
Пользователь
Сообщений: 59
Досрочное завершение потока
«
Ответ #4 :
26 Июнь, 2013, 15:40:04 »
Большое спасибо! Я почему-то не обратил внимание, что функция __beginthread может возвращать pid потока
«
Последнее редактирование: 26 Июнь, 2013, 15:42:48 от Дмитрий
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Форум СВД ВС
-----------------------------
=> Информация
=> Техническая поддержка
=> Программное обеспечение
=> Инструментальные средства
=> Обсуждение сайта
=> Курилка
-----------------------------
International Forum
-----------------------------
=> English Discussion
Загружается...