Poll soll nur bei neuen events aufwachen



  • Ich habe ein kleines Problem mit poll.
    Poll schläft solange bis sich was mit der Datei geändert hat auf die der FD zeigt oder das Timeout abgelaufen ist

    struct pollfd wait[] = { { fd: m_control->m_ptyFd, events: POLLIN } };
    
    while (!poll(wait, 1, 1000)){
    		/* wait */;
    }
    
    mach was
    
    while (!poll(wait, 1, 1000)){
    		/* wait */;
    }
    

    Das zweite poll soll nur aufwachen wenn es NEUE Daten gibt.
    Soll heissen wenn "mach was" nicht alle Daten verarbeiten kann, dann soll das zweite poll auch erst aufwachen wenn es neue Daten gibt. Poll wertet doch sicher nur ein flag von dem FD aus oder? Kann man das zurücksetzen?

    Danke
    DS



  • Das geht nicht. Du musst alle Daten lesen und Puffern, wenn Du die Daten noch nicht verarbeiten willst.


Anmelden zum Antworten