forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.HUSKY

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 07.11.2021, 12:29
Stas Mishchenkov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 07.11.2021, 13:24
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 07.11.2021, 18:02
Sergey Anohin
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 07.11.2021, 22:52
Stas Mishchenkov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 07.11.2021, 23:23
Nil A
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 09.11.2021, 20:43
Stas Mishchenkov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 09.11.2021, 21:02
Nil A
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 10.11.2021, 10:53
Stas Mishchenkov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 25.11.2021, 22:01
Dmitriy Romanov
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 25.11.2021, 22:22
Nil A
Guest
 
Сообщений: n/a
По умолчанию 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
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 06:28. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot