Описание тега eintr
2
ответа
Я хочу знать, какой сигнал поступает, когда системный вызов () прерывается
Мое приложение имеет две темы. Каждый поток получает некоторые данные с сервера через каждый сокет. Потоки ждут возврата epoll_wait(). Иногда epoll_wait () возвращает -1, а errno - EINTR. EINTR означает, что системный вызов () прерывается сигналом. …
26 авг '13 в 07:06
1
ответ
Почему select() продолжает работать с ошибкой EINTR errno?
У меня есть приложение C++, которое включает эту функцию: int mySelect(const int fdMaxPlus1, fd_set *readFDset, fd_set *writeFDset, struct timeval *timeout) { retry: const int selectReturn = ::select(fdMaxPlus1, readFDset, writeFDset, NULL, timeout)…
11 фев '15 в 19:59
2
ответа
Считывание сокетов в многопоточном приложении возвращает ноль байтов или EINTR (104)
Некоторое время я являюсь c-кодером - ни новичком, ни экспертом. Теперь у меня есть определенное демоническое приложение на C на PPC Linux. Я использую PHP socket_connect в качестве клиента для локального подключения к этому сервису. Сервер использу…
06 апр '10 в 04:30
1
ответ
Правильный способ обработки SIGCHLD, EINT и accept() в Linux
У меня есть программа, которая создает TCP-сервер. Когда accept() подключается к клиенту, я выполняю fork() и обрабатываю соединение. Когда этот клиент покидает его, он вызывает waitpid() из-за SIGCHLD, но это вызывает EINTR в accept(). Мой вопрос, …
11 сен '15 в 18:58
0
ответов
Ошибка revc сокета Java: EINTR
Я работаю на машине с Linux и использую сокет Java для связи между виртуальной средой и моделью SystemC. При использовании функции recv для получения данных у меня было сообщение об ошибке 4: EINTR Я пытался увеличить время ожидания, но ошибка все е…
25 авг '13 в 17:28
1
ответ
epoll_wait() возвращает EINTR бесконечно
У меня есть нить, ответственная за опрос различных FDS. Я использую epoll_wait с установленным временем ожидания. Ниже приведен фрагмент кода: do { n = epoll_wait(epollFd, eventsList, eventsTotal, timeoutMS); } while ((n<0) && (errno == E…
30 сен '17 в 11:03
4
ответа
Когда проверить EINTR и повторить вызов функции?
Я программирую пользовательское приложение для встроенной системы Linux и использую для устройств общие функции, такие как открытие, закрытие, чтение, ioctl и т. Д. Теперь, я прочитал о EINTR, указывает, что функция была прервана сигналом, но я не у…
10 фев '11 в 16:06
1
ответ
Стандартный C++ TCP-сокет, происходит сбой соединения с EINTR при использовании std::async
У меня возникают проблемы с использованием std::async, чтобы задачи выполнялись параллельно, когда задача включает сокет. Моя программа представляет собой простой сервер сокетов TCP, написанный на стандартном C++ для Linux. Когда клиент подключается…
22 авг '13 в 00:14
2
ответа
Python: нужно ли перехватывать EINTR в цикле чтения канала
ТЛ; др Должен ли я обрабатывать ошибки EINTR "прервал системный вызов" при чтении канала в Python, и если да, то как мне проверить такой код? Описание В следе ниже, self._dataq это multiprocessing.Queue (технически я использую billiard библиотека, н…
13 мар '14 в 17:58
3
ответа
EINTR и неблокирующие звонки
Как известно, некоторые блокирующие вызовы, такие как read а также write вернет -1 и установит errno в EINTRи нам нужно с этим справиться. Мой вопрос: это относится к неблокирующим вызовам, например, установите сокет в O_NONBLOCK? Поскольку в некото…
03 янв '13 в 07:04
1
ответ
Когда функция wait() (в LINUX) реагирует на прерывания?
У меня есть c код как таковой int childid; int parentid; void siginthandler(int param) { // if this is the parent process if(getpid() == parentid){ //handler code which sends SIGINT signal to child process kill(childid, SIGINT); } else // if this is…
30 янв '14 в 20:28
2
ответа
Обработка EINTR (с goto?)
Предыстория: это дополнительный вопрос к этой теме об обработке EINTR для системных вызовов в C++ (Linux/GCC). Независимо от того, намереваюсь ли я профилировать свое приложение, мне кажется, что я должен обрабатывать настройки системных вызовов err…
02 июн '10 в 13:27
3
ответа
Системный вызов, прерванный сигналом, все еще должен быть завершен
Многие системные вызовы, такие как close( fd ) Может быть прервано сигналом. В этом случае обычно -1 возвращается и errno установлено EINTR, Вопрос в том, что делать правильно? Скажи, я все еще хочу это fd быть закрытым. Что я могу придумать это: wh…
13 ноя '12 в 06:38
1
ответ
python: функции из модулей math и os прерываются EINTR
У меня есть плата Linux на Samsung SoC S3C6410 (ARM11). Я собираю rootfs с помощью buildroot: Python 2.7.1, uClibc-0.9.31. Ядро Linux: Linux buildroot 2.6.28.6 #177 Пн, 3 октября 12:50:57 EEST 2011 armv6l GNU/Linux Мое приложение, написанное на pyth…
01 фев '12 в 13:46
4
ответа
Системные вызовы и код ошибки EINTR
Есть ли какой-нибудь эксперт, который может помочь мне в следующем? У меня есть следующие системные вызовы в C: access() unlink() setsockopt() fcntl() setsid() socket() bind() listen() Я хочу знать, могут ли они потерпеть неудачу с кодом ошибки -1 и…
08 сен '14 в 17:33
2
ответа
Есть ли обходные пути для выбора Python и обработки EINTR в Linux?
В одном из моих недавних проектов я участвовал в том же процессе (программа на Python, это многопоточное приложение): модуль Boost::Python для библиотеки, которая связана с AVT PvAPI SDK, т.е. в самом широком смысле это драйвер для получения кадров …
15 ноя '11 в 19:13
1
ответ
Функция scanf и сигнал EINTR
Я работаю на платформе Linux. У меня есть консольное многопоточное приложение, которое загружает многопоточную библиотеку общих объектов для других функций. Библиотека разделяемых объектов внутренне открывает последовательный порт для связи. Библиот…
25 мар '15 в 10:27
0
ответов
TEMP_FAILURE_RETRY и неблокирующие розетки
Должен ли я использовать TEMP_FAILURE_RETRY окружить библиотечные вызовы (которые могут дать сбой и установить errno на EINTR) на неблокирующих сокетах?
07 дек '11 в 15:50
2
ответа
Правильная обработка ошибок для fclose невозможна (согласно man-странице)?
Так что я изучаю man-страницу fclose довольно долго, и я пришел к выводу, что если fclose прерывается каким-либо сигналом, то, согласно man-странице, нет никакого способа восстановить...? Я что-то упустил? Обычно с небуферизованными функциями POSIX …
20 июл '15 в 22:59
2
ответа
Функции блокировки и EINTR
Многие функции блокировки POSIX возвращают EINTR в случае сигнала. Идея состоит в том, что обработчик сигнала сначала устанавливает флаг (скажем, флаг 'stop' в случае SIGINT), затем функция блокировки разблокирует возвращаемый EINTR, и приложение ви…
29 окт '12 в 19:47