Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

ЖЖ от 2007-02-02 16:42:00

Написал свой первый в жизни модуль для PHP, правда, по сути, взял скелет, посмотрел несколько других модулей, взял за основу модуль FAM и написал модуль для Gamin — это система мониторинга для файлов и директориев, умеет сообщать об их изменении. Совместима по API с FAM, правда некоторые функции не поддерживаются, но есть новые. В отличии от FAM более стабилен, имеет улучшенную модель безопасности, поддерживает «из коробки» inotify, кроме dnotify и imon. API выглядит так:

совпадают с FAM PECL (кстати, константы тоже имеют префикс GAMIN):
gamin_open
gamin_close
gamin_monitor_directory
gamin_monitor_file
gamin_cancel_monitor
gamin_next_event
gamin_pending

новые функции:
gamin_noexists — запрещает события GAMINExists
gamin_errno — возвращает код ошибки
gamin_error — возвращает описание ошибки

Позже: добавились gamin_suspend_monitor и gamin_resume_monitor, у функций gamin_monitor_directory и gamin_monitor_file добавился четвёртый опциональный параметр (string), который вернёт gamin_next_event в поле userdata (c этой userdata память, кстати, «течёт» до закрытия файла, так как я не могу понять когда её освобождать).