#11
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Stas Mishchenkov написал(а) к Sergey Anohin в Nov 21 11:09:42 по местному времени:
Нi, Sergey! 06 ноя 21 23:37, Sergey Anohin -> Nil A: SA> Можно ещё юзать hpt post и не юзать txt2pkt Можно, но я отказался из-за коллизий с тоссером. Нave nice nights. Stas Mishchenkov. --- Муж без жены - как дуб без дятла. |
#12
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Alexey Vissarionov написал(а) к Stas Mishchenkov в Nov 21 12:12:12 по местному времени:
Доброго времени суток, Stas! 07 Nov 2021 11:09:42, ты -> Sergey Anohin: SA>> Можно ещё юзать hpt post и не юзать txt2pkt SM> Можно, но я отказался из-за коллизий с тоссером. txt2pkt - прекрасный инструмент, но им нужно уметь пользоваться. Правильную методику я уже вкратце описал. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Сверхзвуковая реактивная ступа с изменяемой геометрией помела --- /bin/vi |
#13
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Sergey Anohin написал(а) к Nil A в Nov 21 16:54:10 по местному времени:
Нello, Nil! NA> Интересно, почему традиционно все эти fido.dayly и fido.monthly скрипты, из fidoip, за копирайтом 2007-2012 Maxim Sokolsky, 2:5020/828.777 работают через txt2pkt ? Там вроде на husky 1.4 основано, может в те времена работало С наилучшими пожеланиями, Sergey Anohin. --- wfido |
#14
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Stas Mishchenkov написал(а) к Alexey Vissarionov в Nov 21 21:38:50 по местному времени:
Нi, Alexey! 07 ноя 21 12:12, Alexey Vissarionov -> Stas Mishchenkov: SA>>> Можно ещё юзать hpt post и не юзать txt2pkt SM>> Можно, но я отказался из-за коллизий с тоссером. AV> txt2pkt - прекрасный инструмент, но им нужно уметь пользоваться. Я отказался от hpt post. AV> Правильную методику я уже вкратце описал. Я примерно так и делаю, только собственной перлятиной. Нave nice nights. Stas Mishchenkov. --- Каждый раз бухай как последний. Потому что однажды так и будет. |
#15
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Nil A написал(а) к Stas Mishchenkov в Nov 21 21:59:40 по местному времени:
Нello, Stas! Sunday November 07 2021 21:38, from Stas Mishchenkov -> Alexey Vissarionov: SM>>> Можно, но я отказался из-за коллизий с тоссером. SM> Я отказался от hpt post. У тебя тоссер не НPT? Вроде hpt post должен хватать общехасковский лок, тогда hpt toss будет ждать. AV>> Правильную методику я уже вкратце описал. SM> Я примерно так и делаю, только собственной перлятиной. Не всё так гладко c rename(), есть две проблемы. 1. rename(2) не сработает, если на разных файловых системах, иначе тогда переименование превратиться в копирование+удаление файла - не атомарная операция. Если ты "переименовываешь" с tmpfs, то это как раз та самая ситуация. 2. rename(2) всегда затирает целевой файл, а мы можем не угадать с уникальностью имени .pkt. В современном линуксе есть renameat2(2) с опцией RENAME_NOREPLACE, но как быть с другими POSIX системами? Как быть с вендой? Отсутствие renameat2(2) раньше компенсировали путём вызовы link(2) для создания hard link, тогда он возвращал EEXIST, если уже существует целевой файл. Такой способ закрывал все POSIX системы. Но как быть с вендой? Геморой, геморой, ... Concurrency (multithreading and multiprocessing) - это сложная тема. Multiplatform support - это сложная тема. Concurrency + Concurrency = Pi3дец сложность. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#16
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Stas Mishchenkov написал(а) к Nil A в Nov 21 19:28:18 по местному времени:
Нi, Nil! 07 ноя 21 21:59, Nil A -> Stas Mishchenkov: SM>>>> Можно, но я отказался из-за коллизий с тоссером. SM>> Я отказался от hpt post. NA> У тебя тоссер не НPT? НPT. NA> Вроде hpt post должен хватать общехасковский лок, тогда hpt toss будет NA> ждать. Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post просто не сработает. По этому генерируем PKT и подкидываем его тоссеру в инбаунд. Нave nice nights. Stas Mishchenkov. --- Люди, вы когда своей головой начнете думать, а не телевизором? |
#17
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Nil A написал(а) к Stas Mishchenkov в Nov 21 19:48:32 по местному времени:
Нello, Stas! Tuesday November 09 2021 19:28, from Stas Mishchenkov -> Nil A: NA>> Вроде hpt post должен хватать общехасковский лок, тогда hpt toss NA>> будет ждать. SM> Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post SM> просто не сработает. По этому генерируем PKT и подкидываем его тоссеру SM> в инбаунд. Т.е. вопрос в том, чтобы обернуть hpt post во что-то, что будет ждать и перезапускать? Или hpt post возвращает код ошибки, по которому нельзя понять, случился ли пост или нет, и тип ошибки, при которой можно переповторить вызов? Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#18
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Stas Mishchenkov написал(а) к Nil A в Nov 21 09:42:58 по местному времени:
Нi, Nil! 09 ноя 21 19:48, Nil A -> Stas Mishchenkov: NA>>> Вроде hpt post должен хватать общехасковский лок, тогда hpt toss NA>>> будет ждать. SM>> Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post SM>> просто не сработает. По этому генерируем PKT и подкидываем его тоссеру SM>> в инбаунд. NA> Т.е. вопрос в том, чтобы обернуть hpt post во что-то, что будет ждать и NA> перезапускать? Или hpt post возвращает код ошибки, по которому нельзя NA> понять, случился ли пост или нет, и тип ошибки, при которой можно NA> переповторить вызов? Можно было и так заморочиться. У меня уже была готова процедура, создающая PKT на перле и мне было проще её прикрутить, чем скидывать в файл и изголяться с hpt post. Нave nice nights. Stas Mishchenkov. --- Первым признаком глупости является полное отсутствие стыда. З.Фрейд. |
#19
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Dmitriy Romanov написал(а) к Stas Mishchenkov в Nov 21 19:48:40 по местному времени:
Приветики, Stas! Писал как-то Stas Mishchenkov к Sergey Anohin примерно 07 Ноя 21 в 11:09 А я смотрю и фигею. SA>> Можно ещё юзать hpt post и не юзать txt2pkt SM> Можно, но я отказался из-за коллизий с тоссером. А откуда возникают коллизии с тоссером? У меня например (под виндой, если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не отработает - ничего другого, что может ему помешать, не запустится. И наоборот - тоссер будет ждать, пока отработает другая задача. На сем разрешите письмо закончить. Elec (RA2FDR) --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603 |
#20
|
|||
|
|||
src/pktwrite.c: openPktForAppending - race condition
Nil A написал(а) к Dmitriy Romanov в Nov 21 21:15:56 по местному времени:
Нello, Dmitriy! Thursday November 25 2021 19:48, from Dmitriy Romanov -> Stas Mishchenkov: DR> А откуда возникают коллизии с тоссером? У меня например (под виндой, DR> если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не DR> отработает - ничего другого, что может ему помешать, не запустится. И DR> наоборот - тоссер будет ждать, пока отработает другая задача. Из бинка можно вызывать тоссер, параметр exec, если свалился .su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? .pkt например. Best Regards, Nil --- GoldED+/LNX 1.1.5 |