Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

НАЙДЕННЫЕ ОШИБКИ





EINVAL

Было задано неверное значение сигнала. Эта ошибка также возникает в случае попытки задания сигналов SIGKILL или SIGSTOP, которые не могут быть "перехвачены".

EFAULT

act, oldact, set, oldset или mask указывают на адрес, не входящий в адресное пространство процесса.

 

Пример

 

#include <signal.h>;

#include <stdio.h>;

sig_atomic_t sig_occured = 0;

sig_atomic_t sig_out = 0;

void sig_handler (int snum)

{

sig_occured = 1;

sig_out++;

}

int main (void)

{

struct sigaction act;

sigemptyset (&act.sa_mask);

act.sa_handler = &sig_handler;

act.sa_flags = 0;

if (sigaction (SIGINT, &act, NULL) == -1) {

fprintf (stderr, "sigaction() error\n");

return 1;

}

while (1) {

if (sig_occured) {

fprintf (stderr, "signal...\n");

sig_occured = 0;

if (sig_out>10) exit(0);

}

}

}

 

 

sig_atomic_t - специальный тип данных, математические операции по отношению к переменным данного типа являются атомарными и не могут быть прерваны

 

Пример 2

 

Процесс-сын

#include <stdio.h>;

#include <stdlib.h>;

#include <signal.h>;

#include <unistd.h>;

int main (int argc, char ** argv)

{

int year;

if (argc < 2) {

fprintf (stderr, "child: too few arguments\n");

return 2;

}

year = atoi (argv[1]);

if (year <= 0)

return 2;

if (((year%4 == 0) && (year%100!= 0)) ||

(year%400 == 0))

kill (getppid (), SIGUSR1);

Else

kill (getppid (), SIGUSR2);

exit(0);

}

 







Дата добавления: 2015-08-12; просмотров: 381. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

Этапы и алгоритм решения педагогической задачи Технология решения педагогической задачи, так же как и любая другая педагогическая технология должна соответствовать критериям концептуальности, системности, эффективности и воспроизводимости...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Studopedia.info - Студопедия - 2014-2026 год . (0.013 сек.) русская версия | украинская версия