~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to Documentation/filesystems/dnotify_test.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define _GNU_SOURCE     /* needed to get the defines */
 
2
#include <fcntl.h>      /* in glibc 2.2 this has the needed
 
3
                                   values defined */
 
4
#include <signal.h>
 
5
#include <stdio.h>
 
6
#include <unistd.h>
 
7
 
 
8
static volatile int event_fd;
 
9
 
 
10
static void handler(int sig, siginfo_t *si, void *data)
 
11
{
 
12
        event_fd = si->si_fd;
 
13
}
 
14
 
 
15
int main(void)
 
16
{
 
17
        struct sigaction act;
 
18
        int fd;
 
19
 
 
20
        act.sa_sigaction = handler;
 
21
        sigemptyset(&act.sa_mask);
 
22
        act.sa_flags = SA_SIGINFO;
 
23
        sigaction(SIGRTMIN + 1, &act, NULL);
 
24
 
 
25
        fd = open(".", O_RDONLY);
 
26
        fcntl(fd, F_SETSIG, SIGRTMIN + 1);
 
27
        fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
 
28
        /* we will now be notified if any of the files
 
29
           in "." is modified or new files are created */
 
30
        while (1) {
 
31
                pause();
 
32
                printf("Got event on fd=%d\n", event_fd);
 
33
        }
 
34
}