• src/pktwrite.c: openPktForAppending - race condition

    From Michael Dukelsky@2:5020/1042 to Nil A on Sat Nov 6 21:21:20 2021
    Привет, Nil!

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

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

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

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

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

    Пиши pull request.

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

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: ==<<.f1042.ru.>>== (2:5020/1042)
  • From Nil A@2:5015/46 to Michael Dukelsky on Sat Nov 6 21:41:58 2021
    Hello, Michael!

    Saturday November 06 2021 21:21, from Michael Dukelsky -> Nil A:

    Race condition в функции openPktForAppending()
    Пиши pull request.

    Дык лениво же. Я иногда, по желанию, что-то беру и пишу для фидошки. Обычно просто FTSC документов не хватает для понимания, и я иду читать референсную имплементацию в husky, binkd, etc. Ответ на свой вопрос из сорцов я получаю, а вот ещё походу могу код ревтьюировать. Есть ли у меня желание его ковырять? Так себе код, выправлять его мне не хочется, по эстетическим соображениям.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Sergey Anohin@2:5034/10.1 to Nil A on Sat Nov 6 23:37:15 2021
    Hello, Nil!

    Дык лениво же. Я иногда, по желанию, что-то беру и пишу для фидошки. Обычно просто FTSC документов не хватает для понимания, и я иду читать референсную имплементацию в husky, binkd, etc. Ответ на свой вопрос из сорцов я получаю, а вот ещё походу могу код ревтьюировать. Есть ли у меня желание его ковырять? Так себе код, выправлять его мне не хочется, по эстетическим соображениям.

    Можно ещё юзать hpt post и не юзать txt2pkt

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Nil A@2:5015/46 to Sergey Anohin on Sun Nov 7 00:56:50 2021
    Hello, Sergey!

    Saturday November 06 2021 23:37, from Sergey Anohin -> Nil A:

    Можно ещё юзать hpt post и не юзать txt2pkt

    Кстати, интересная мысль.
    Посмотрел, отличия hpt post в том, что он не делает промежуточной .pkt, а сразу обрабатывает, как будто это он тоссит, т.е. сразу в базу положит и на линков раскидает (-x опция).

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Sergey Anohin@2:5034/10.1 to Nil A on Sun Nov 7 01:25:40 2021
    Hello, Nil!

    Кстати, интересная мысль.
    Посмотрел, отличия hpt post в том, что он не делает промежуточной .pkt, а сразу обрабатывает, как будто это он тоссит, т.е. сразу в базу положит и на линков раскидает (-x опция).

    У меня роботы спамят так по крону, работает вроде без нареканий, скармливается текст из файла

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Nil A@2:5015/46 to Sergey Anohin on Sun Nov 7 01:46:40 2021
    Hello, Sergey!

    Sunday November 07 2021 01:25, from Sergey Anohin -> Nil A:

    Посмотрел, отличия hpt post в том, что он не делает промежуточной
    .pkt, а сразу обрабатывает, как будто это он тоссит, т.е. сразу в
    базу положит и на линков раскидает (-x опция).

    У меня роботы спамят так по крону, работает вроде без нареканий, скармливается текст из файла

    Интересно, почему традиционно все эти fido.dayly и fido.monthly скрипты, из fidoip, за копирайтом 2007-2012 Maxim Sokolsky, 2:5020/828.777 работают через txt2pkt ?

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Alexey Vissarionov@2:5020/545 to Nil A on Sun Nov 7 02:51:20 2021
    Доброго времени суток, Nil!
    06 Nov 2021 20:03:20, ты -> All:

    Race condition в функции openPktForAppending()
    if(fexist(fileName))
    {
    if((pkt = fopen(fileName, "r+b")) == NULL)
    ...
    Правильнее всего сделать цикл, попытаться открыть с O_CREATE|O_EXCL,
    если вернулся EEXIST, то открывать на чтение, если чтение вернуло
    ENOENT, значит надо снова пытвться O_CREATE|O_EXCL, любые другие
    ошибки походу - выход с ошибкой.
    Геморой в том, что похожие проверки нужно написать и не для POSIX
    систем, например, винды с её похожими API. К сожаление fopen() из
    libc такой гибкостью не обладает.

    man fdopen

    Если, конечно, он там действительно нужен.


    --
    Alexey V. Vissarionov aka Gremlin from Kremlin
    gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

    ... Лотерея (сущ.): форма налога на незнание теории вероятности
    --- /bin/vi
    * Origin: ::1 (2:5020/545)
  • From Alexey Vissarionov@2:5020/545 to Nil A on Sun Nov 7 02:56:56 2021
    Доброго времени суток, Nil!
    07 Nov 2021 01:46:40, ты -> Sergey Anohin:

    Посмотрел, отличия hpt post в том, что он не делает промежуточной
    .pkt, а сразу обрабатывает, как будто это он тоссит, т.е. сразу в
    базу положит и на линков раскидает (-x опция).
    У меня роботы спамят так по крону, работает вроде без нареканий,
    скармливается текст из файла
    Интересно, почему традиционно все эти fido.dayly и fido.monthly
    скрипты, из fidoip, за копирайтом 2007-2012 Maxim Sokolsky,
    2:5020/828.777 работают через txt2pkt ?

    Потому что автор этих скриптов - дурак, и не думал, когда копировал методы использования txt2pkt из скриптов тех людей, которые действительно умеют им пользоваться.


    --
    Alexey V. Vissarionov aka Gremlin from Kremlin
    gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

    ... Время выхода из лабиринта зависит от количества извилин
    --- /bin/vi
    * Origin: ::1 (2:5020/545)
  • From Nil A@2:5015/46 to Alexey Vissarionov on Sun Nov 7 08:21:20 2021
    Hello, Alexey!

    Sunday November 07 2021 02:56, from Alexey Vissarionov -> Nil A:

    Интересно, почему традиционно все эти fido.dayly и fido.monthly
    скрипты, из fidoip, за копирайтом 2007-2012 Maxim Sokolsky,
    2:5020/828.777 работают через txt2pkt ?

    Потому что автор этих скриптов - дурак, и не думал, когда копировал
    методы использования txt2pkt из скриптов тех людей, которые
    действительно умеют им пользоваться.

    Самое смешное, что если посмотреть на TID/PID писем, например, фидонет.тудей ежедневный робот постит и прочие, то можно там везде увидить txt2pkt.
    Короче, это какой-то стандарт-де-факто уже для постинья в эхи, а не hpt post.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Stas Mishchenkov@2:460/5858 to Sergey Anohin on Sun Nov 7 11:09:42 2021
    Hi, Sergey!

    06 ноя 21 23:37, Sergey Anohin -> Nil A:

    Можно ещё юзать hpt post и не юзать txt2pkt

    Можно, но я отказался из-за коллизий с тоссером.

    Have nice nights.
    Stas Mishchenkov.
    --- Муж без жены - как дуб без дятла.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Alexey Vissarionov@2:5020/545 to Stas Mishchenkov on Sun Nov 7 12:12:12 2021
    Доброго времени суток, Stas!
    07 Nov 2021 11:09:42, ты -> Sergey Anohin:

    Можно ещё юзать hpt post и не юзать txt2pkt
    Можно, но я отказался из-за коллизий с тоссером.

    txt2pkt - прекрасный инструмент, но им нужно уметь пользоваться.

    Правильную методику я уже вкратце описал.


    --
    Alexey V. Vissarionov aka Gremlin from Kremlin
    gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

    ... Сверхзвуковая реактивная ступа с изменяемой геометрией помела
    --- /bin/vi
    * Origin: ::1 (2:5020/545)
  • From Sergey Anohin@2:5034/10.1 to Nil A on Sun Nov 7 16:54:10 2021
    Hello, Nil!

    Интересно, почему традиционно все эти fido.dayly и fido.monthly скрипты, из fidoip, за копирайтом 2007-2012 Maxim Sokolsky, 2:5020/828.777 работают через txt2pkt ?

    Там вроде на husky 1.4 основано, может в те времена работало

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Stas Mishchenkov@2:460/5858 to Alexey Vissarionov on Sun Nov 7 21:38:50 2021
    Hi, Alexey!

    07 ноя 21 12:12, Alexey Vissarionov -> Stas Mishchenkov:

    Можно ещё юзать hpt post и не юзать txt2pkt
    Можно, но я отказался из-за коллизий с тоссером.

    txt2pkt - прекрасный инструмент, но им нужно уметь пользоваться.

    Я отказался от hpt post.

    Правильную методику я уже вкратце описал.

    Я примерно так и делаю, только собственной перлятиной.

    Have nice nights.
    Stas Mishchenkov.
    --- Каждый раз бухай как последний. Потому что однажды так и будет.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Nil A@2:5015/46 to Stas Mishchenkov on Sun Nov 7 21:59:40 2021
    Hello, Stas!

    Sunday November 07 2021 21:38, from Stas Mishchenkov -> Alexey Vissarionov:

    Можно, но я отказался из-за коллизий с тоссером.
    Я отказался от hpt post.

    У тебя тоссер не HPT?
    Вроде hpt post должен хватать общехасковский лок, тогда hpt toss будет ждать.

    Правильную методику я уже вкратце описал.
    Я примерно так и делаю, только собственной перлятиной.

    е всё так гладко 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
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Tue Nov 9 19:28:18 2021
    Hi, Nil!

    07 ноя 21 21:59, Nil A -> Stas Mishchenkov:

    Можно, но я отказался из-за коллизий с тоссером.
    Я отказался от hpt post.

    У тебя тоссер не HPT?

    HPT.

    Вроде hpt post должен хватать общехасковский лок, тогда hpt toss будет ждать.

    Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post просто не сработает. По этому генерируем PKT и подкидываем его тоссеру в инбаунд.

    Have nice nights.
    Stas Mishchenkov.
    --- Люди, вы когда своей головой начнете думать, а не телевизором?
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Nil A@2:5015/46 to Stas Mishchenkov on Tue Nov 9 19:48:32 2021
    Hello, Stas!

    Tuesday November 09 2021 19:28, from Stas Mishchenkov -> Nil A:

    Вроде hpt post должен хватать общехасковский лок, тогда hpt toss
    будет ждать.
    Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post
    просто не сработает. По этому генерируем PKT и подкидываем его тоссеру
    в инбаунд.

    Т.е. вопрос в том, чтобы обернуть hpt post во что-то, что будет ждать и перезапускать? Или hpt post возвращает код ошибки, по которому нельзя понять, случился ли пост или нет, и тип ошибки, при которой можно переповторить вызов?

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Wed Nov 10 09:42:58 2021
    Hi, Nil!

    09 ноя 21 19:48, Nil A -> Stas Mishchenkov:

    Вроде hpt post должен хватать общехасковский лок, тогда hpt toss
    будет ждать.
    Да. Тут всё хорошо. А когда hpt toss уже ковыряется, то hpt post
    просто не сработает. По этому генерируем PKT и подкидываем его тоссеру
    в инбаунд.

    Т.е. вопрос в том, чтобы обернуть hpt post во что-то, что будет ждать и перезапускать? Или hpt post возвращает код ошибки, по которому нельзя понять, случился ли пост или нет, и тип ошибки, при которой можно переповторить вызов?

    Можно было и так заморочиться. У меня уже была готова процедура, создающая PKT на перле и мне было проще её прикрутить, чем скидывать в файл и изголяться с hpt post.

    Have nice nights.
    Stas Mishchenkov.
    --- Первым признаком глупости является полное отсутствие стыда. З.Фрейд.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Dmitriy Romanov@2:6078/1 to Stas Mishchenkov on Thu Nov 25 19:48:40 2021

    Приветики, Stas!


    Писал как-то Stas Mishchenkov к Sergey Anohin примерно 07 оя 21 в 11:09
    А я смотрю и фигею.


    Можно ещё юзать hpt post и не юзать txt2pkt
    Можно, но я отказался из-за коллизий с тоссером.
    А откуда возникают коллизии с тоссером? У меня например (под виндой, если что) вся работа с фидошкой идет в одном
    потоке. И пока тоссер не отработает - ничего другого, что может ему помешать, не запустится. И наоборот - тоссер будет
    ждать, пока отработает другая задача.

    Hа сем разрешите письмо закончить. Elec (RA2FDR)
    --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
    * Origin: В свинарнике не стыдно быть свиньей (2:6078/1)
  • From Nil A@2:5015/46 to Dmitriy Romanov on Thu Nov 25 21:15:56 2021
    Hello, Dmitriy!

    Thursday November 25 2021 19:48, from Dmitriy Romanov -> Stas Mishchenkov:

    А откуда возникают коллизии с тоссером? У меня например (под виндой,
    если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не отработает - ничего другого, что может ему помешать, не запустится. И наоборот - тоссер будет ждать, пока отработает другая задача.

    Из бинка можно вызывать тоссер, параметр exec, если свалился *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Dmitriy Romanov@2:6078/1 to Nil A on Thu Nov 25 20:47:56 2021

    Приветики, Nil!


    Писал как-то Nil A к Dmitriy Romanov примерно 25 оя 21 в 21:15
    А я смотрю и фигею.


    А откуда возникают коллизии с тоссером? У меня например (под виндой,
    если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не
    отработает - ничего другого, что может ему помешать, не запустится. И
    наоборот - тоссер будет ждать, пока отработает другая задача.
    Из бинка можно вызывать тоссер, параметр exec, если свалился *.su?
    *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.
    Можно. А можно если свалился - создать флаг. А потом в отдельном потоке наступить на этот флаг и отработать. Задержка
    не превышает периода поиска флагов. В моем случае это от 3 до 5 секунд, сейчас уже не помню сколько точно. А можно
    например передать событие в тот поток, где обрабатываются флаги.

    Hа сем разрешите письмо закончить. Elec (RA2FDR)
    --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
    * Origin: В свинарнике не стыдно быть свиньей (2:6078/1)
  • From Stas Mishchenkov@2:460/5858 to Dmitriy Romanov on Sat Nov 27 10:04:22 2021

    *** Ответ на сообщение из _Carbon.Mail (Carbon.Mail).

    Hi, Dmitriy!

    25 ноя 21 19:48, Dmitriy Romanov -> Stas Mishchenkov:

    Можно ещё юзать hpt post и не юзать txt2pkt
    Можно, но я отказался из-за коллизий с тоссером.

    А откуда возникают коллизии с тоссером? У меня например (под виндой, если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не отработает - ничего другого, что может ему помешать, не запустится. И наоборот - тоссер будет ждать, пока отработает другая задача.

    У меня на настольном компьютере под виндой тоже именно так. Вертится скриптик на языке командной строки windows и обрабатывает различные события. а серваке под линухом всё руки недоходят что-то подобное сделать. Там пока тупо раз в минуту тоссер запускается.

    Have nice nights.
    Stas Mishchenkov.
    --- Хороший собеседник не только внимательно слушает, но и вовремя наливает.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Sat Nov 27 20:53:38 2021
    Hi, Nil!

    25 ноя 21 21:15, Nil A -> Dmitriy Romanov:

    А откуда возникают коллизии с тоссером? У меня например (под виндой,
    если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не
    отработает - ничего другого, что может ему помешать, не запустится. И
    наоборот - тоссер будет ждать, пока отработает другая задача.

    Из бинка можно вызывать тоссер, параметр exec, если свалился *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.

    Можно, но не нужно. В многозадачной среде это не самая лучшая идея.

    Have nice nights.
    Stas Mishchenkov.

    --- Сёма, шо-то у меня голова разболелась, ты шо, опять меня хочешь?
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Nil A@2:5015/46 to Stas Mishchenkov on Sat Nov 27 21:09:52 2021
    Hello, Stas!

    Saturday November 27 2021 20:53, from Stas Mishchenkov -> Nil A:

    Из бинка можно вызывать тоссер, параметр exec, если свалился
    *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.
    Можно, но не нужно. В многозадачной среде это не самая лучшая идея.

    Потому, что у тебя используется одно из ПО, которое не соблюдает некую обговорённую систему локов?
    Может быть ты ещё не позволяешь тоссить, пока ты в голдеде сидишь, а то вдруг базы попортятся?

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Rinat H. Sadretdinow@2:5020/620 to Stas Mishchenkov on Sat Nov 27 21:59:36 2021
    Hello Stas!

    27 Nov 21 20:53, you wrote to Nil A:

    Из бинка можно вызывать тоссер, параметр exec, если свалился
    *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.

    Можно, но не нужно. В многозадачной среде это не самая лучшая идея.

    Я именно так и делаю. Именно из binkd, прописано у него в конфиге. ЧЯДHТ?

    Bye!

    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: -= Thunder Bird =- (2:5020/620)
  • From Dmitriy Romanov@2:6078/1 to Stas Mishchenkov on Sat Nov 27 23:14:06 2021

    Приветики, Stas!


    Писал как-то Stas Mishchenkov к Dmitriy Romanov примерно 27 оя 21 в 10:04
    А я смотрю и фигею.

    Можно ещё юзать hpt post и не юзать txt2pkt
    Можно, но я отказался из-за коллизий с тоссером.
    А откуда возникают коллизии с тоссером? У меня например (под виндой,
    если что) вся работа с фидошкой идет в одном потоке. И пока тоссер не
    отработает - ничего другого, что может ему помешать, не запустится. И
    наоборот - тоссер будет ждать, пока отработает другая задача.
    У меня на настольном компьютере под виндой тоже именно так. Вертится скриптик на языке командной строки windows и обрабатывает различные события.
    У меня этим мейлер занимается. Там специальный обработчик в отдельном потоке вертится. Плюс этой реализации - там еще и
    контролируется предельное время работы каждого ехешника, при превышении заранее заданного времени - просто
    TerminateProcess его.

    а серваке под линухом всё руки недоходят что-то подобное сделать. Там
    пока тупо раз в минуту тоссер запускается.
    Я еще к сожалению не достиг такой степени просветления, чтобы начать писать под линукс. Хотя желание уже появилось.

    Hа сем разрешите письмо закончить. Elec (RA2FDR)
    --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
    * Origin: В свинарнике не стыдно быть свиньей (2:6078/1)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Sun Nov 28 10:06:36 2021
    Hi, Nil!

    27 ноя 21 21:09, Nil A -> Stas Mishchenkov:

    Из бинка можно вызывать тоссер, параметр exec, если свалился
    *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.
    Можно, но не нужно. В многозадачной среде это не самая лучшая идея.

    Потому, что у тебя используется одно из ПО, которое не соблюдает некую обговорённую систему локов?

    Соблюдает HPT. Однако, это всё равно может привести к коллизиям.

    Может быть ты ещё не позволяешь тоссить, пока ты в голдеде сидишь, а
    то вдруг базы попортятся?

    Позволяю. ;)

    Have nice nights.
    Stas Mishchenkov.

    --- - А вы по национальности...? - Таки-да. А вы? - Нет. - А шо так?
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Stas Mishchenkov@2:460/5858 to Rinat H. Sadretdinow on Sun Nov 28 10:08:06 2021
    Hi, Rinat!

    27 ноя 21 21:59, Rinat H. Sadretdinow -> Stas Mishchenkov:

    Из бинка можно вызывать тоссер, параметр exec, если свалился
    *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.

    Можно, но не нужно. В многозадачной среде это не самая лучшая идея.

    Я именно так и делаю. Именно из binkd, прописано у него в конфиге. ЧЯДHТ?

    У тебя много линков? Для поитовой системы это вполне удобно. Я на своих поинтовых машинах тоже так и делаю.

    Have nice nights.
    Stas Mishchenkov.

    --- Женщины ревнуют, потому что знают, на что способны женщины.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Stas Mishchenkov@2:460/5858 to Dmitriy Romanov on Sun Nov 28 10:10:42 2021
    Hi, Dmitriy!

    27 ноя 21 23:14, Dmitriy Romanov -> Stas Mishchenkov:

    У меня на настольном компьютере под виндой тоже именно так. Вертится
    скриптик на языке командной строки windows и обрабатывает различные
    события.

    У меня этим мейлер занимается. Там специальный обработчик в отдельном потоке вертится.

    Когда у меня был Т-Мыл, то тоже так и было. Потом я переполз на TheBrake! и сделал скриптик на REXX для обработки всего этого. Когда OS/2 у меня не стало, пришлось выкручиваться.

    Плюс этой реализации - там еще и контролируется
    предельное время работы каждого ехешника, при превышении заранее
    заданного времени - просто TerminateProcess его.

    Гм. А если тоссер не повис, а просто жуёт большой пакет?

    а серваке под линухом всё руки недоходят что-то подобное сделать.
    Там пока тупо раз в минуту тоссер запускается.

    Я еще к сожалению не достиг такой степени просветления, чтобы начать писать под линукс. Хотя желание уже появилось.

    у, я, как сделаю, сразу поделюсь. ;) Я и виндовый скриптик не скрываю. https://brorabbit.g0x.ru/files/win/sheduler.zip

    Have nice nights.
    Stas Mishchenkov.

    --- Даже если ты в полной жопе, - еще не значит, что ты в дерьме. Brazzers.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Dmitriy Romanov@2:6078/1 to Stas Mishchenkov on Sun Nov 28 09:43:04 2021

    Приветики, Stas!


    Писал как-то Stas Mishchenkov к Dmitriy Romanov примерно 28 оя 21 в 10:10
    А я смотрю и фигею.


    Плюс этой реализации - там еще и контролируется
    предельное время работы каждого ехешника, при превышении заранее
    заданного времени - просто TerminateProcess его.
    Гм. А если тоссер не повис, а просто жуёт большой пакет?
    Если тоссер жует пакет больше часа - то он уже однозначно подавился, и его легче пристрелить.

    Hа сем разрешите письмо закончить. Elec (RA2FDR)
    --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
    * Origin: В свинарнике не стыдно быть свиньей (2:6078/1)
  • From Rinat H. Sadretdinow@2:5020/620.1 to Stas Mishchenkov on Sun Nov 28 12:50:04 2021
    Hello Stas!

    28 Nov 21 10:08, you wrote to me:

    Из бинка можно вызывать тоссер, параметр exec, если свалился
    *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt например.

    Можно, но не нужно. В многозадачной среде это не самая лучшая
    идея.

    Я именно так и делаю. Именно из binkd, прописано у него в
    конфиге. ЧЯДHТ?

    У тебя много линков? Для поитовой системы это вполне удобно. Я на
    своих поинтовых машинах тоже так и делаю.

    А, вот тут да, когда много линков данный exec совсем не в кассу.

    Bye!

    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: -= Thunder Bird @ home =- (2:5020/620.1)
  • From Alexey Vissarionov@2:5020/545 to Dmitriy Romanov on Sun Nov 28 19:18:00 2021
    Доброго времени суток, Dmitriy!
    27 Nov 2021 23:14:06, ты -> Stas Mishchenkov:

    У меня на настольном компьютере под виндой тоже именно так. Вертится
    скриптик на языке командной строки windows и обрабатывает различные
    события.
    У меня этим мейлер занимается. Там специальный обработчик в отдельном потоке вертится. Плюс этой реализации - там еще и контролируется предельное время работы каждого ехешника, при превышении заранее
    заданного времени - просто TerminateProcess его.

    Какая у людей жЫзнь интересная... не то что наша банальщина:

    NAME
    timeout - run a command with a time limit

    SYNOPSIS
    timeout [OPTION] DURATION COMMAND [ARG]...
    timeout [OPTION]

    DESCRIPTION
    Start COMMAND, and kill it if still running after DURATION.

    Mandatory arguments to long options are mandatory for short options
    too.

    --preserve-status

    exit with the same status as COMMAND, even when the command
    times out

    --foreground

    When not running timeout directly from a shell prompt, allow
    COMMAND to read from the TTY and receive TTY signals. In this
    mode, children of COMMAND will not be timed out.

    -k, --kill-after=DURATION

    also send a KILL signal if COMMAND is still running this long
    after the initial signal was sent.

    -s, --signal=SIGNAL

    specify the signal to be sent on timeout. SIGNAL may be a name
    like 'HUP' or a number. See 'kill -l' for a list of signals

    а серваке под линухом всё руки недоходят что-то подобное
    сделать. Там пока тупо раз в минуту тоссер запускается.

    Кстати, по использованию ресурсов это оказалось самым эффективным решением.

    Я еще к сожалению не достиг такой степени просветления, чтобы
    начать писать под линукс. Хотя желание уже появилось.

    А что тебе еще нужно?


    --
    Alexey V. Vissarionov aka Gremlin from Kremlin
    gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

    ... У дураков мысли монотонны и ограничены
    --- /bin/vi
    * Origin: ::1 (2:5020/545)
  • From Dmitriy Romanov@2:6078/1 to Alexey Vissarionov on Sun Nov 28 18:53:24 2021

    Приветики, Alexey!


    Писал как-то Alexey Vissarionov к Dmitriy Romanov примерно 28 оя 21 в 19:18
    А я смотрю и фигею.


    Я еще к сожалению не достиг такой степени просветления, чтобы
    начать писать под линукс. Хотя желание уже появилось.
    А что тебе еще нужно?
    Какой-нибудь гайд типа программирование на сиплюсплюс под линукс для военных с одной извилиной.


    Hа сем разрешите письмо закончить. Elec (RA2FDR)
    --- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
    * Origin: В свинарнике не стыдно быть свиньей (2:6078/1)
  • From Stas Mishchenkov@2:460/5858 to Dmitriy Romanov on Mon Nov 29 12:38:32 2021

    *** Ответ на сообщение из _Carbon.Mail (Carbon.Mail).

    Hi, Dmitriy!

    28 ноя 21 09:43, Dmitriy Romanov -> Stas Mishchenkov:

    Плюс этой реализации - там еще и контролируется
    предельное время работы каждого ехешника, при превышении заранее
    заданного времени - просто TerminateProcess его.
    Гм. А если тоссер не повис, а просто жуёт большой пакет?

    Если тоссер жует пакет больше часа - то он уже однозначно подавился, и его легче пристрелить.

    Тебе прислать пакет, который будет тосситься больше часа и при этом вполне валидный и нормально растоссится в итоге? ;)

    Have nice nights.
    Stas Mishchenkov.
    --- Свободная баба должна показывать сиськи. Замужняя не должна,но тоже вправе
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)