блог пользователя фкн

pthread_kill(3) функция - отправить сигнал потоку

отправить сигнал потоку в линукс можно с помощью функции pthread_kill(3)
сигнатура функции =

#include <signal.h>
int pthread_kill(pthread_t thread, // идентификатор нити
                 int sig); // сигнал , который отправляем
_____________________________________________
Источники(читать подробнее)=
Ключевые слова и фразы(для поиска)=

man страницы все разделы , все страницы

хорошо представлены здесь = http://linux.die.net/man/

SIGHUP сигнал

SIGHUP - стандартным действием программы при получении такого сигнала является завершение собственной работы

Системный вызов sigprocmask()

Системный вызов sigprocmask() - служит для редактирования списка, блокированных в данный момент сигналов.

сигнатура =

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); 

пример вызова =

маска сигналов процесса + sigset_t definition

Маска сигналов -это некий набор значений, который может быть "упакован" в переменную типа sigset_t, обратившись к которому можно узнать какие сигналы заблокированы.

определение типа=

тип sigset_t определяется так =

typedef __sigset_t sigset_t;

а тип __sigset_t , в свою очередь, так =

if not defined

use this =

Ну вот

я кажется теперь что-то такое дельное написал и теперь погружась в линукс - буду пробовать скомпилировать код написанный для windows и linux одновременно в ubontu

Ещё один пример создания потока в линукс си

исходник взят отсюда ,
но я немного отформатировал код -а то там он "слабочитаем" для простых смертных =

(void *) после переменной си типы

вообще если в си вы встречаете после имени переменной в скобках не понятно откуда взявшиеся типы данных (например при объявлении функции) , то знайте - что это указатель на функцию (вместо одного из параметров передаётся указатель на функцию), как , например. здесь.

Pages

Subscribe to RSS - блог пользователя фкн