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