Lastfreies Warten auf mehrere Handles
-
Hi zusammen
ich habe ein SocketHandle ( SOCKET ) und möchte zusätzlich noch einen oder mehrere FileDescriptors als SignalGeber benutzen.
Dann möchte ich an einer Stelle im Quellcode lastfrei warten bis eines der Handles ( Socket oder anderes Handle ) signalisiert.
Unter Linux/Unix mach ich das mit pselect. Dort kann man sich ja problemlos eigene FileDescriptoren erzeugen und diese auch mit write() beschreiben.
Nun brauch dasselbe quasi für die WINAPI.
Geht das auch mit der select-Funktion?
Ich hatte an 'WaitForMultipleObjects' gedacht, aber das arbeitet ja mit HANDLES, während die WINAPI-Sockets ja vom Typ "int" sind, soweit ich mich erinnere.
Hat sowas schonmal jemand gemacht?
-
Socket Handles unter Windows sind schon kompatibel mit File-Handles. Nur bringt dir WaitForMultipleObjects nix, dabei kannst du ja nicht angeben worauf genau du warten willst.
Hier sind ein paar Möglichkeiten beschrieben:
https://stackoverflow.com/questions/67082/what-is-the-best-epoll-kqueue-select-equvalient-on-windows