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.)


Anmelden zum Antworten