Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.HUSKY
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.HUSKY с датами от 16 Jul 13 10:00:06 до 04 May 24 09:45:34, всего сообщений: 5323
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 4570 из 5323 ========================================= RU.HUSKY =
От   : Michael Dukelsky                 2:5020/1042        06 Nov 21 21:21:20
Кому : Nil A                                               06 Nov 21 21:21:20
Тема : src/pktwrite.c: openPktForAppending - race condition
FGHI : area://RU.HUSKY?msgid=2:5020/1042+6186c7dc
На   : area://RU.HUSKY?msgid=2:5015/46+6186b776
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.HUSKY?msgid=2:5015/46+6186cd92
==============================================================================
Привет, Nil!

06 November 2021 20:03, Nil A послал(а) письмо к All:

NA> Race condition в функции openPktForAppending()

NA> if(fexist(fileName))
NA> {
NA>   if((pkt = fopen(fileName, "r+b")) == NULL)
NA> ...

NA> Правильнее всего сделать цикл, попытаться открыть с  O_CREATE|O_EXCL,
NA> если вернулся EEXIST, то открывать на чтение, если чтение вернуло
NA> ENOENT, значит надо снова пытвться O_CREATE|O_EXCL, любые другие
NA> ошибки походу - выход с ошибкой.

NA> Геморой в том, что похожие проверки нужно написать и не для POSIX
NA> систем, например, винды с её похожими API. К сожаление fopen() из libc
NA> такой гибкостью не обладает.

Пиши pull request.

Желаю успехов, Nil!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20180707
* Origin: ==<<.f1042.ru.>>== (2:5020/1042)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.036871 секунды