epoll erster Versuch
-
Hallo,
ich bin eher ein Anfänger der Linux-Systemprogrammierung.
Ich möchte mit epoll mehrere Dateien/Ordner überwachen
und habe einen ersten Test gechrieben, wo eine Datei
überwacht werden soll, aber egal, was ich mit der Datei
auch anstelle, epoll_wait meldet kein event und das
Programm bleibt da stehen bis zum timeout.
Was mache ich falsch ?int efd=epoll_create(1);
struct epoll_event x;
x.data.fd = open("/tmp/test.txt", O_RDONLY);
x.events = EPOLLIN;
epoll_ctl(efd, EPOLL_CTL_ADD, 0, &x);int i,n;
struct epoll_event y[100];n = epoll_wait(efd, y, 100, 30000);
printf("out: %d \n", n);Grüsse
Mox
-
Ich hab epoll noch nicht direkt benutzt. Aber vielleicht solltest du erst einmal x mit 0 initialisiern und dann vielleicht auf Fehler prüfen (existiert die Datei, war das epoll_ctl erfolgreich etc.)