LINUX.ORG.RU

Монитор директории


0

1

Привет! Есть задача сделать класс: монитор событий в директории (создание, удаление, изменение фалов/папок в директории). Сделать нужно кросс платформенным. Что стоит посмотреть на эту тему? Как запустить это в отдельном потоке? Есть какие то системные хуки на которые надо подвязываться?

Смотря что подразумевать под кросплатформеностью. Что бы одни и те же сорцы компилились и работали ? Так тогда можно всунуть для каждой оси свою реализацию, просто с одинаковыми именами интерфейсов, и во время компиляции дефайнами рулить :)

Jetty ★★★★★
()

Как уже советовали ниже, через glib. Но ткну ближе, ЕМНИП есть какой-то способ отловить все функции glib, которые вызываются программами, так вроде Valgrind работает. Гуглите в этом направлении.

flareguner
()
Ответ на: комментарий от OldFatMan

Реализация inotify в юзверьспейсе теперь есть в netbsd и freebsd, проблеиэм с портированием на другие *bsd я не вижу

yoghurt ★★★★★
()

Не понимаю, в чём проблема?

Делаешь пандорический захват, лифтишь в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически вычисляешь результат. Любой второкурсник справится. А если делать на анафорических лямбдах — так задачка вообще на пять минут.

anonymous
()
Ответ на: комментарий от baverman

Функционал, требуемый ТСу, у глибовых файловых мониторов работает в полной мере только под линаксом.

Есть патч, который запиливает оное в *bsd, но, опять же, пока только в netbsd

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Думаю, на остальных платформах ему хватит и наивной реализации. Главное интерфейс общий.

baverman ★★★
()
Ответ на: комментарий от flareguner

Если ты про strace, то оно ловит системные вызовы, а не вызовы функций glib. Впрочем, на нижнем уровне в них все и упирается

yoghurt ★★★★★
()
Ответ на: комментарий от BreadFan

gamin самый кроссплатформенный средипредложенного

WHUT? Дашь бинарь под семерочку x64?

baverman ★★★
()
Ответ на: комментарий от yoghurt

Вообще-то я подумал сначала про оффтоп, когда говорил «не кроссплаформенный», а вовсе не про *bsd/*nix-системы.

OldFatMan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.