The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз GhostBSD 11.1"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Релиз GhostBSD 11.1" +/
Сообщение от Ivan_83email (ok), 17-Ноя-17, 15:00 
Начнём с того что во фряшечке нет приличного ядерного средства чтобы получать нотификации об изменении файлов в папке.
Те когда софтина добавляет монитор на папку то нужно по хорошему открыть и добавить в kqueue() и папку и каждый файл который там есть, либо по таймеру смотреть что поменялось в папке.
Меня оба варианта не устраивают, ибо это ад, особенно если у тебя папка смонтированна по sshfs на не оч скоростном линке а файлов в папке много.

Дополнительной радостью является то что во фре нет ни флага чтобы открывать без обновления времени доступа ни тем более флага чтобы открывать только для мониторинга изменений.

При этом, чтобы ты понимал, то что есть сейчас:
- было сломано 8 месяцев подряд и никто не чинил, его просто отключили чтобы приложения не падали и я был вынужден жать F5 чтобы понять поменялось вообще что то или нет (как на рабочем столе так и в файловых манагерах). Те ты удалил файл, а он на месте пока F5 не нажмёшь, аналогично с копированием, пермещением и тп
- после починки оно уже года два как роняет все приложения которые это используют при некоторых юзпаттернах, они так и "чинят" этот г.код раз в 3 месяца пытаясь там пару строчек пропатчить
- лично у меня оно почему то приводило к тому, что приложение которое открыто долго (скажем 10 минут юзанья файлового манагера) начинало сжирать одно ядро в полку и становилось не отзывчивым

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

Апстриму не понравилось что я обругал в резкой форме их код и они начали придиратся вообще ко всему.
#ifndef O_NOATIME
#    define O_NOATIME    0
#endif
даже вот это их почему то очень огорчило :)
А ещё они хотели чтобы патч был проверен и обкатан мной на всех BSD и маках.
Плюс им не понравилось что я совсем не пользуюсь функциями из глибы, а пользуюсь только системными.
Я не нанимался им их конюшни вычищать, поэтому их глиба гработает на всех BSD системах как и раньше :)

Особенности моего патча:
+ можно легко дебажить в своей апликухе, ибо оно совсем никак не зависит от глибы
+ мизер кода: всего 700 строк
+ пашет быстро, не грузит систему лишними сисколами
- не уведомляет об изменении файлов в мониторящейся папке, только об добавлении/удалении и измении самой папки
- при оч редком юз паттерне жрёт проц (где то раз в месяц или реже натыкаюсь)


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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз GhostBSD 11.1, opennews, 16-Ноя-17, 22:02  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру