cregit-Linux how code gets into the kernel

Release 4.10 tools/testing/selftests/filesystems/dnotify_test.c


#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; }

Contributors

PersonTokensPropCommitsCommitProp
randy dunlaprandy dunlap23100.00%1100.00%
Total23100.00%1100.00%


int main(void) { struct sigaction act; int fd; act.sa_sigaction = handler; sigemptyset(&act.sa_mask); act.sa_flags = SA_SIGINFO; sigaction(SIGRTMIN + 1, &act, NULL); fd = open(".", O_RDONLY); fcntl(fd, F_SETSIG, SIGRTMIN + 1); 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); } }

Contributors

PersonTokensPropCommitsCommitProp
randy dunlaprandy dunlap96100.00%1100.00%
Total96100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
randy dunlaprandy dunlap141100.00%1100.00%
Total141100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.