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 | Maximum number of clients reachedSegmentation fault |
bekomme Danke!
|
Forum: PC-Programmierung 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! 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 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 Das hat nichts mit der Version der Xlib zu tun. Die Xlib an sich ist halt steinalt. 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 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 ^^ Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
|
|