Взял нижеприведенный примерчик из доков из файла dnotify.txt. Просто скомпилировал и запустил. При создании файлов в директории не происходит ни каких событий. Обидно :( Не могу понять почему. Может кто знает? Может так какие ключи при компиляции или ядро надо заново скомпилировать с специальными настройками? Пробовал на RH7.3 и на Mandrake8.2 #define _GNU_SOURCE /* needed to get the defines */ #include <fcntl.h> /* in glibc 2.2 this has the needed values defined */ #include <signal.h> #include <stdio.h> #include <unistd.h> static volatile int event_fd; static void handler(int sig, siginfo_t *si, void *data) { event_fd = si->si_fd; } int main(void) { struct sigaction act; int fd; act.sa_sigaction = handler; sigemptyset(&act.sa_mask); act.sa_flags = SA_SIGINFO; sigaction(SIGRTMIN, &act, NULL); fd = open(".", O_RDONLY); fcntl(fd, F_SETSIG, SIGRTMIN); fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT); /* we will now be notified if any of the files in "." is modified or new files are created */ while (1) { pause(); printf("Got event on fd=%d\n", event_fd); } }
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум signal (2005)
- Форум Продолжим про исключения!! (2007)
- Форум POSIX таймеры (2011)
- Форум помогите разобраться (2005)
- Форум Помогите разобраться с потоками (2003)
- Форум Немного о forced umount (2003)
- Форум Создание списка в gtk (2010)
- Форум Про сигналы и исключения (2013)
- Форум Поиск segfault-а на кластере под MPI (2017)
- Форум Порт не освобождается после закрытия приложения (2017)