Hallo, mit welcher Funktion kann ich die Verbindung zum X-org-Server (hergestellt mit Xlib) wieder trennen? Ich hab das problem, dass ich die Fehlermeldung:
1 | |
bekomme Danke!
|
Anzeige
|
Xlib: Verbindung zum Server trennenHallo, mit welcher Funktion kann ich die Verbindung zum X-org-Server (hergestellt mit Xlib) wieder trennen? Ich hab das problem, dass ich die Fehlermeldung:
bekomme Danke!
Gast
#2862144
Ich vermute, dass dein Problem nicht so einfach ist, wie du denkst. Am besten wäre es, wenn du mal etwas Quellcode zeigst, denn normalerweise kann der Fehler nicht auftreten. Und beschreib auch mal die Systemumgebung und so. Habs grade gelöst ;) Doch, hat daran gelegen. Quellcode möchte ich nicht veröffentlichen, wenn dann nur Codestellen
Gast
#2862485
Die Xlib ist hinten und vorne nicht eintrittsinvariant... das Thema habe ich auch schon durch. Etwas Besserung gab es mit den Thread-Funktionen. Es klingt so, als ob du innerhalb einer Anwendung mehrere Verbindungen zum X-Server auf- und abbauen möchtest, ja? Du wirst dann nämlich Probleme bekommen, falls eine Verbindung außerordentlich stirbt. Diesen Fall kannst du mit der alten Xlib nämlich praktisch nicht abfangen. Jap, ging darum, Events zu "vermitteln" hab nur mit Xflush() syncronisiert, aber nicht die Verbindung getrennt Ich hab die aktuellste Xlib ;) Archlinux ist da ziemlich genau
Gast
#2862626
Das hat nichts mit der Version der Xlib zu tun. Die Xlib an sich ist halt steinalt. Wird die nicht mit dem X-org aktuallisiert?!
Gast
#2862652
Doch schon, aber das Konzept ist halt uralt. Die Bibliothek ist m.M.n. nicht dafür gemacht, um die Verbindungen dynamisch zu handhaben. Das schrieb ich weiter oben: Es wird schon haarig, wenn eine Verbindung abstirbt, weil z.B. der darunterliegende Netzwerkpfad verschwindet. Da gibts zwar Callbacks für solche Fehler, aber von denen heraus kann man nicht mehr aufstehen. Überhaupt ist die Fehlerbehandlung recht 'dünn'. Du weißt ja nie, welcher Callback zu welchem Aufruf gehört (ausgenommen du synchronisierst alles, das kostet wieder Zeit). Und wenn du dann einen Callback fängst, kannst du logischerweise auch nicht da weitermachen, wo der Fehler aufgetreten ist (synchronisieren...). Bricht die Verbindung ganz weg, wird es schwierig, den Xlib-Kontext wieder loszuwerden. mhm, ist dennoch die einzige Möglichkeit, die für mein Projekt funktioniert
Gast
#2862670
Um das zu beurteilen, müsste man dein Projekt kennen.
Gast
#2862676
Vielleicht bietet XCB hier was? http://de.wikipedia.org/wiki/XCB Sven P. schrieb: > Um das zu beurteilen, müsste man dein Projekt kennen. Bei dem Teil, wo die Xlib benötigt wird geht es um die Steuerung der Mausbewegung (30-60mal pro Sekunde) und die Ermittlung der Bildschirmauflösung Rolf Magnus schrieb: > Vielleicht bietet XCB hier was? Hab ich auch schon gesehen, kommt evtl. in zuküntigen Versionen ;) Matthias R. schrieb: > Bei dem Teil, wo die Xlib benötigt wird geht es um die Steuerung der > Mausbewegung (30-60mal pro Sekunde) Und du hast 30-60 mal pro Sekunde eine neue Verbindung zum X-Server aufgebaut? Kein Wunder dass dem X-Server da die Connectionhandles ausgehen. => Nur einmal verbinden, die Verbindung offenlassen. jap, genau das ^^ Hab in meinem Programm jetzt 3 Threads, die versch. sachen übernehmen und unteranderem auch die Verbindung zum x-Server offen bleibt ^^ Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|