Filedescriptor ueberpruefen

lukrop

lukrop

Don't feed trolls
Hi, folgende problemstellung:
ich habe ein (selbstgeschriebenes) lib, das mir den filedescriptor eines pseudoterminal (per forkpty()) zur verfuegung stellt. Im child wird die bash ausgefuehrt, soweit so gut, ich habe einen laufenden "terminal" und kann auf diesem ueber den filedescriptor lesen und schreiben. Nun habe ich eine (Qt) GUI anwendung in der ich per knopfdruck ein command am pseudo-terminal ausfuehre und in deren QTextEdit die ausgabe des terminals erscheinen soll. Klingt relativ einfach ABER: ich muss den pseudoterminal die ganze zeit auf ueberpruefen ob was neues zu lesen da ist, dies versuche ich ueber einen QThread zu realisieren. Der Thread funktioniert soweit auch nur habe ich probleme mit der funktion select(). Diese soll in einer while(true) schleife (im QThread) die ganze zeit ueberpruefen ob neues zum lesen da ist. Komischerweise sagt mir select() die ganze zeit, dass etwas neues da ist und die funktion die mir den pseudo-terminal output in die GUI schreibt liefert andauernd newlines und nur als erste zeile den prompt. Kennt jemand eine loesung fuer dieses Problem? Falls noetig kann ich auch die sourcen pasten.

lg

edit: gut, wer man-pags lesen kann ist klar im vorteil... -.-

select() prueft nur ob der fd bereit ist zum lesen, ist klar das er sich da die ganze zeit meldet.. mit welcher funktion kann ich pruefen ob was neues auf dem filedescriptor ist?
 
Zuletzt bearbeitet:
Thread wieder 'rausgeholt

Hallo, ich hab' diesen Thread ausgegraben, weil ich genau die selbe Frage habe:

".. mit welcher funktion kann ich pruefen ob was neues auf dem filedescriptor ist?"

--> Hast du inzwischen eine Antwort gefunden oder weiss zufällig jemand anderes eine Antwort?

Viele Grüsse,
ölgötz
 
hm... ich bin mir nicht sicher ob mein Vorschlag eine gute Lösung ist. Aber ich werde es trotzdem mal vorschlagen :)

Naja man kann bei jeder Datei sehen wann diese erstellt und geändert wurde. Dafür gibt es auch funktionen.

Schau mal hier: http://www.pronix.de/pronix-100.html

EDIT:

Ich bin mir jetzt nicht sicher... aber ein Filedescriptor liefert doch nur eine Adresse wieder. Und diese Adresse ändert sich doch nicht. Also, so habe ich die Materie zumindest verstanden ;)

http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_018_024.htm#Xxx999331
 
Zuletzt bearbeitet:

Ähnliche Themen

Sicherheitsfragen zu PHP-Anwendungen auf der Webseite

[HowTo] Debian Installation mit Installer über SSH

Debian Sid und ein paar Probleme.

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

evilWM vs Ratpoison vs Ion

Zurück
Oben