Описание тега sigaction

Системный вызов sigaction() используется для изменения действия, предпринимаемого процессом при получении определенного сигнала.
0 ответов

Правильный способ ожидания ввода после обработки sigaction ctrl+c aka SIGINT

Эта программа выведет бесконечное "Enter a:" в командную строку после отправки SIGINT через Ctrl + C. Чтобы выйти из этого цикла, я использую Ctrl + \. Если я раскомментирую строку, содержащую std::cin.clear();все работает нормально. У меня вопрос, …
12 авг '15 в 15:31
0 ответов

Размер хранилища не известен с gnu99 только в Windows, но не в Linux

Я пишу код на C, используя sigaction, Компиляция с использованием minGW в Windows.Я заметил, что C99 не поддерживает sigaction поэтому я использовал флаг -std=gnu99 при компиляции.Почему выдается сообщение об ошибке "Размер хранилища" newact "не изв…
07 мар '17 в 08:42
3 ответа

Как мне использовать sigaction()? структура sigaction не определена

Я делаю простой пример sigaction для практики C, но когда я пытаюсь скомпилировать мой код, он утверждает, что struct sigaction не существует [1]. Когда я проверил некоторый старый код, который я произвел, я увидел, что я добавил некоторую строку PO…
16 фев '19 в 00:28
1 ответ

Как позвонить в sigaction из C++

Я знаю, как использовать его в C (с signal.h), но <csignal> библиотека предоставляется на C++, и я хочу знать, включает ли она sigaction? Я пытался запустить его, но он сказал, что не найден. Мне было интересно, если я сделал что-то не так? #i…
19 авг '18 в 18:03
0 ответов

sigio обрабатывает только входной сигнал и не выводит C++

Я работаю над встроенной системой, которая отправляет информацию через последовательный порт uart ttyS0. Теперь я хотел бы получать данные с того же последовательного порта. Поэтому я реализовал обработчик сигнала, используя sigaction. Я хотел бы ис…
18 авг '16 в 11:52
0 ответов

sigaction, причина {<const> struct sigaction * act}

Заголовок в интерфейсе sigaction, sigaction (int sig, const struct sigaction * act, struct sigaction * oact); что означает "const" причина, почему нужно использовать "const" struct. Я понимаю, что это означает неизменную, фиксированную структуру (= …
24 ноя '18 в 18:25
1 ответ

Нужно ли мне проверять выход моих потоков?

У меня есть встроенное приложение, работающее как один процесс в Linux. я использую sigaction() выявить проблемы, такие как ошибка сегментации и т. д. У процесса есть несколько потоков, каждый из которых, как и приложение, должен работать вечно. Мой…
30 июн '16 в 13:05
0 ответов

C - использование dup для перенаправления stdout на ввод execl(бинарный файл)

Мне нужна помощь со следующей программой. Предполагается, что fork() двух дочерних процессов, child1 должен отправить два случайных числа, в строке, разделенных пробелом, через канал child2, подождать 1 секунду и сделать это снова, пока не получит S…
13 апр '17 в 12:34
1 ответ

Правильный способ обработки SIGCHLD, EINT и accept() в Linux

У меня есть программа, которая создает TCP-сервер. Когда accept() подключается к клиенту, я выполняю fork() и обрабатываю соединение. Когда этот клиент покидает его, он вызывает waitpid() из-за SIGCHLD, но это вызывает EINTR в accept(). Мой вопрос, …
11 сен '15 в 18:58
1 ответ

Сиггация против сигнала

Может кто-нибудь, пожалуйста, объясните разницу между sigaction и сигнал. Я знаю, что они работают по-разному, в зависимости от того, на какой машине вы работаете, например, на Mac, Windows или Linux, и эта подпись работает одинаково на всех платфор…
05 июн '15 в 01:09
1 ответ

Перехват SIGSEGV при срабатывании поврежденным стеком

Я работал над некоторым ошибочным кодом и хотел установить обработчик SIGSEGV, чтобы получить больше информации о сбое. Однако я заметил, что мой обработчик не вызывается. Я искал причину, и, похоже, это связано с поврежденным значением указателя ст…
02 сен '16 в 16:41
1 ответ

Переносимость sigaction и sigset_t между Solaris и Linux

У меня есть какой-то устаревший код на платформе Solaris, и я хотел бы перенести его на Linux, но в Linux возникает ошибка компиляции. На Solaris у меня есть следующий фрагмент кода: #include &lt;signal.h&gt; ... void f() { struct sigaction a; sigac…
11 апр '17 в 12:22
1 ответ

Почему только асинхронные функции должны вызываться из обработчика сигнала?

Я понимаю, что из функции обработчика сигнала sigaction() Я должен вызывать только те функции, которые "безопасны для асинхронного режима". Но почему так?
22 сен '17 в 00:02
3 ответа

C - Вызов функции, объявленной с параметрами без параметров?

Я пытаюсь понять код, который имеет следующие строки: void terminate_pipe(int); code code code... struct sigaction new_Sigiterm; new_Sigiterm.sa_handler = terminate_pipe; Мой вопрос: В чем смысл вызова такой функции? Это собирается просто поставить …
04 дек '15 в 21:27
5 ответов

sigaction и игнорирование сигнала с c в среде linux

Я новичок в этом типе программирования, поэтому извините, если мой вопрос тривиален. Я пытаюсь вызвать ошибку сегментации в моей программе, и вместо выхода из программы я хочу обработать сигнал и продолжить выполнение после ошибки сегментации. Я нап…
25 янв '16 в 05:10
0 ответов

Почему я не должен включать <bits / sigaction.h>, и как мне игнорировать ошибку при этом?

В настоящее время я пытаюсь использовать часть набора тестов SPEC OMP 2012 с помощью инструмента профилирования Score-P, и получаю ошибку. В частности: /XXX/imagick/src/magick_magick.c: In function ‘SetMagickSignalHandler’: /XXX/imagick/src/magick_m…
06 янв '17 в 17:27
1 ответ

Почему контекст в обработчике sigaction является пустым указателем?

В sigaction(2) справочная страница: The siginfo_t argument to a SA_SIGINFO handler When the SA_SIGINFO flag is specified in act.sa_flags, the signal handler address is passed via the act.sa_sigaction field. This han‐ dler takes three arguments, as f…
02 авг '18 в 00:11
1 ответ

waitpid и обработчик сигнала, C

Я попытался найти ответ на свой вопрос в этом посте: обработчик сигнала и waitpid сосуществуют, но для меня пока не очень ясно. Я пытаюсь объяснить мои проблемы: Я пытаюсь написать программу на C, которая касается IPC между родительским процессом и …
27 дек '17 в 17:19
1 ответ

Сигналы в параметре "set" sigtimedwait() не доставляются

В последнее время я работал над обработкой сигналов в Linux и прочитал все концепции, связанные с обработкой сигналов. Один вопрос, который заставляет меня задуматься, заключается в том, почему сигнал из набора sigtimedwait() не доставляется, пока п…
1 ответ

Использование сигналов в C, как остановить и продолжить программу, когда таймер заканчивается

Я разрабатываю программу, которая работает на Raspberry-Pi (linux), которая получает данные от модулей GPS и обрабатывает их. Прямо сейчас, программа сосредоточена вокруг while(1) Цикл, который принимает данные GPS и делает что-то с ними (данные пер…
30 апр '16 в 09:15