accept() unterbrechen



  • Ich schreibe gerade einen kleinen httpserver

    Ich habe dort einen thread der dir ganze zeit in accept verharrt und einen thread, der auf user eingaben wartet und diese verarbeitet.
    Mein problem ist jetzt, dass wenn ich den server beenden möchte ich warten muss bis eine neue verbindung angenommen wurde, da ich ja vorher nicht prüfen kann ob accept noch einmal aufgerufen werden soll.

    Ich suche jetzt nach einer Möglichkeit accept() in dem einen thread durch einen anderen thread zu unterbrechen.

    Wie löse ich das am geschicktesten?



  • Du könntest statt blockierend im accept zu warten zunächst ein poll oder select auf den Filedeskriptor mache. Da packst Du dann zusätzlich eine Pipe rein und wenn Du den Thread wecken willst, schreibst Du ein Zeichen auf die Pipe.



  • Schau mal nach der Funktion select();)


Anmelden zum Antworten