2 / 2 / 2
Регистрация: 01.10.2012
Сообщений: 91

Особенности FIFO, open и O_NONBLOCK

01.03.2016, 23:29. Показов 1950. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если указан флаг O_NONBLOCK, то при попытке открыть только на чтение FIFO, закрытый с другого конца, ошибка не вылетит и open будет успешно завершена. При попытке открыть только на запись FIFO, закрытый с другого конца, вылетает ошибка и open возвращает -1.
Вопрос: почему разработчики решили не выкидывать ошибку при открытии на чтение? Почему бы и не выкинуть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2016, 23:29
Ответы с готовыми решениями:

[ILINK32 Error] Fatal: Could not open .\Debug\Win32\Variant_1.ilf (project already open in IDE?)
Fatal: Could not open .\Debug\Win32\Variant_1.ilf (project already open in IDE?) на русском Fatal: Не удалось открыть \ Debug \...

Error: EMFILE: too many open files, open
Добрый день, подскажите плииз! Поймал ошибку "Error: EMFILE: too many open files, open" Чем это может грозить и как с этим бороться?...

Запутался между open и opener. Как отправить данные из opener в open
Открываю в родители новое окно через open var openWindow = open("up_img.php","up_img","width=600,height=430"); В...

3
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
03.03.2016, 11:01
Потому, что это не ошибка. Данный флаг как раз подавляет блокировку, разрешая читать/писать. Ошибка в таком вызове (на запись) вроде как может возникнуть только если ни один другой процесс не открыл файл на чтение. Вообще все это описано этим стандартом: ieee 1003.1-2013
0
2 / 2 / 2
Регистрация: 01.10.2012
Сообщений: 91
03.03.2016, 12:09  [ТС]
HighPredator, ну так я же написал, что второй конец FIFO закрыт.
Если открываем с нонблоком на запись и никто не открыл на чтение, вылетает ошибка.
Если открываем с нонблоком на чтение и никто не открыл на запись, ошибки нет.
Почему нельзя было выдать ошибку?
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
04.03.2016, 10:02
Так, давайте конкретику: код, компилятор, ос, как воспроизводили и результат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2016, 10:02
Помогаю со студенческими работами здесь

FIFO
надо реализовать класс FIFO (добавление,считивание елементов)

СИ Fifo
Создайте 2 приложения: клиент и сервер. Клиент обращается к серверу, передавая путь к некоторой папке. В ответ сервер возвращает размер...

Com и fifo
Всем доброго дня! Возникла проблема с приемом данных по com. Мне необходимо принять 1 байт данных и как можно быстрее выполнить...

Спецификация FIFO
Собираюсь подружить FTDI (DLP-USB1232) и контроллер по параллельной шине, но ни как не могу найти спецификацию интерфейса FIFO. Может...

Очередь FIFO
Нужно создать очередь FIFO(первым пришел - первым ушел) с помощью массива. В интернете читала статьи про очереди и наткнулась на код, где...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru