Frage

Ich programmiere eine Anwendung (Client / Server) in C ++ für Linux mit epoll y pThreads aber ich weiß nicht, wie die connect() Anrufe bearbeiten, um eine neue Verbindung in der Liste Descriptor anhängen, wenn eine Schleife mit epoll_wait() läuft (Flankengetriggertes) Wie kann ich es tun? ... ich könnte einen Dummy-Dateideskriptor zu verwenden, um ein Ereignis und scape von Warte ausgelöst ?, oder einen einfachen Anruf connect() könnte das Ereignis ausgelöst ?? ...

Sorry für mein schlechtes Englisch ...

War es hilfreich?

Lösung

Ja, können Sie eine andere Dateideskriptors verwenden, die für das Aufwachen Ihre epoll_wait() Schleife gerade ist. Verwenden Sie pipe() den Dateideskriptor zu erstellen. Fügen Sie das Lesen Ende des Rohrs zu Ihrer epoll Liste und schreiben ein einzelnes Byte zu dem Schreibende, wenn Sie wollen, es aufzuwecken. Die Leseseite kann genau das Byte lesen und es verwerfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top