Мне нужны уведомления файловой системы в Mac OS X, и я читаю из /dev/fsevents. Пример кода захвата fsevents в Mac OS X: http://www.codecollector.net/view/1066/raw_fsevents. В этом коде вы можете видеть, что буфер, считанный из /dev/fsevents, обрабатывается, как только он считывается. Но когда я это делаю, события отсутствуют из-за задержки, возникающей при обработке. Итак, я создал новый указатель char и memcpy прочел буфер из /dev/fsevents, добавил новый char* в очередь и обработал очередь в новом потоке. Но когда я обрабатываю char*, как в 'print_event' и 'dump_entry', указатель char* переустанавливается, и когда я проверяю strlen() после обработки, он говорит только длину 0 или 1 байт. Так что во время обработки происходит утечка памяти.
Любая идея, как удалить выделенный char *, это утечка памяти для большего количества событий. Пожалуйста, поделитесь своими мыслями по этому поводу. Заранее спасибо.