Horrido! Ich hab folgendes Problem unter Linux: Ich habe ein Programm in dem 2 Threads nebeneinander laufen: Einer für die Kommunikation mit dem Ethernet, eine für die Kommunikation mit dem Benutzer der vor der Konsole sitzt. Der EthernetThread funzt wie er sollte. Die Eingabe des Users bereitet allerdings Probleme, da irgendwann die Tastatur scheinbar nicht mehr reagiert. Es werden keine Zeichen mehr eingelesen. Ich hab schon gegeguckt ob n anderer Thread die Zeichen wegfängt aber da ist ja eigentlich keiner. Mutexe hab ich auch schon probiert, bringt auch nix. Es kann auch immer nur ein Thread auf die Eingabe zugreifen, da ich ein handle - Prinzip verwende. Ich hab um die Returnerwartung zu umgehen den raw mode über tcattrget / set gesetzt. hatte schonmal jemand ein ähnliches Problem bzw hat jemand nen Plan was es sein könnte? Gruß Chavez
Ohne ein wenig Code kann man da nur schwer was zu sagen. Auch habe ich noch nie sowas gemacht.
Ich verwende zum I/O ueber mehrere Kanaele immer ein select/poll Konstrukt. Wenn alle Stricke reissen kannst du ja das mal ausprobieren (man select und man select_tut helfen da weiter) -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)