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

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

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





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 оперирует с двумя категориями...


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


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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

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