2012-09-21 7 views
2

Я использую этот файл fslogger.c для получения уведомлений о файловой системе на своем Mac. Но он работает только в Leopard & SnowLeopard, а не в Lion или Mountain Lion.fslogger: ошибка ioctl: плохой адрес

http://osxbook.com/software/fslogger/download/fslogger.c

при попытке клонировать/DEV/fsevents с помощью IOCTL возвращает номер ошибки 14 (Bad Address). Я попытался его исправить, я думал, что это может быть некоторые проблемы в аргументах функции ioctl. Поэтому я попытался изменить это, но не использовать вообще. Я не мог понять, что исправлено. Любая идея, как заставить его работать для Lion & Mountain Lion.

ответ

2

От Lion Onwards защита была увеличена. Поэтому я должен открыть файл с третьим аргументом «S_IROTH». Это даст доступ к потоку устройства/dev/fsevents. Надеюсь, это поможет кому-то вроде меня.

+0

Где именно была ошибка? и как вы это исправили? можете ли вы описать его более подробно? – REALFREE

+0

Когда вы пытаетесь клонировать поток/dev/fsvents после получения дескриптора файла, он даст указанную выше ошибку. –

+0

На самом деле мне удалось скомпилировать и запустить, но вывод не прав, кроме строки и того, что было вызвано io. Uid, gid, бит разрешения не выглядят правильно, потому что они все одинаковы. Не знаете, как это исправить. – REALFREE