linux-l: Motif und Multithreading
Marius
Marius.Becker at stud.uni-hannover.de
So Jun 11 14:48:03 CEST 2000
Hilfe!
Motif mag keine pthreads...
Die Aufgabe: auf ein User Interface - programmiert mit MOTIF -
wird zyklisch zugegriffen. Es müssen von außen
Werte aktualisiert werden.
Das Problem: Multiprocessing verträgt das MOTIF-Interface nicht, wird
nach
der Initialisierung der grafischen Oberfläche geforkt, so
stürzt diese bei der ersten Festeroperation ab. Benutze ich
den zweiten Prozess nur, um ein neues Programm zu starten,
welches dann auf die Oberfläche schreiben soll, kenne ich
die Widget-IDs nicht - das läuft auf ein IPC-Problem hinaus,
und damit habe ich nicht genug Erfahrung.
Soweit ich das verstanden habe, benötigt man für die unter-
schiedlichen Verfahren (Memory-Sharing,...) immer zwei aktive
Prozesse, in meinem Fall verhält sich das GUI aber vollständig
passiv.
Ich habe es jetzt mit POSIXthreads versucht. Die parallel
arbeitende Routine läuft in einem Thread. Allerdings werden
in der Prozessliste nach dem Erzeugen des Threads zwei Pro-
zesse mit unterschiedlichen IDs angezeigt. Das war nicht der
Sinn der Sache. Schliesslich erhalte ich (wie bei Verwendung der
Prozesse und Fensteroperation mit nachfolgendem Absturz) die
gleichen Fehlermeldungen (unexpected asynch ...).
Also, was ist bei pthreads Besonderes zu beachten?
Hat jemand vielleicht einen Vorschlag, wie das ganze mit Prozessen zu
realisieren ist?
Geht alles vielleicht ganz einfach, z.B. mit Qt?
Ist entgegen den Behauptungen der Literatur Motif ab 2.0 doch nicht
Threadsafe (obwohl das mit Problem mit den "reentrant"en Funktionen in
meiner Anwendung noch gar keine Rolle spielt)?
Vielen Dank!
Marius.
Mehr Informationen über die Mailingliste linux-l