Article View: fras.text.programmieren
Article #38Re: Messageports und ReplyMsg()
From: Klemens Meyer
Date: Fri, 22 Sep 1995 15:50
Date: Fri, 22 Sep 1995 15:50
45 lines
2726 bytes
2726 bytes
Am Do 21.09.1995 um 15:39:55 Uhr meinte S.ZIMMERT@ame.osn.de (Steffen Zimmert) zum Thema "Messageports und ReplyMsg()": SZ> Ich habe zwei öffentliche MessagePorts, die untereinander eine SZ> von mir definierte Message-Struktur(RKRM-konform natürlich) SZ> austauschen. Da es für die Ports wichtig ist, zu wissen, das ihre SZ> abgeschickte Nachricht auch wieder freigegeben wurde, wird sie SZ> mittels `ReplyMsg()` vom Empfängerport returniert. Wenn ich das richtig verstanden habe, so hast Du zwei Tasks/Prozesse laufen, und die haben jeder einen öffentlichen Port zur Kommunikation? SZ> Hier ist das Problem. Jeder MessagePort muß die erhaltenen SZ> Messages erst prüfen, ob es seine eigene verschickte sein könnte, SZ> da in diesem Falle ein weiteres `ReplyMsg()` fatale Folgen haben SZ> kann(<- Eigene Erfahrung! :-(). Wie mache ich das systemkonform? Aha, Du benutzt diese Ports auch gleichzeitig als Reply-Port. SZ> Bisher habe ich mir folgendes überlegt. Ich merke mir die Adresse SZ> der verschickten Message und überprüfe die erhaltenen darauf. Ist SZ> die Adresse gleich -> Kein ReplyMsg(), ist sie unterschiedlich -> SZ> ReplyMsg(). Damit der Port weiß, daß noch eine Nachricht SZ> unterwegs ist, setze ich eine Variable, die den Status der SZ> verschickten Message anzeigt(UNTERWEGS,DAHEIM ;) ). Ja, das kannst Du so machen :-) SZ> Kann man das so machen, oder bin einmal wieder auf dem Holzweg, SZ> mache es zu umständlich,... Nun, umständlich ist das wirklich... :-)) Besser geht das, wenn Du pro Task einen Öffentlichen Port und je einen privaten Port als ReplyPort hast. Also Du trägst in die Message-Struktur jeweils den privaten Port als ReplyPort ein, und weißt dann: Jede Message, die am privaten Port ankommt ist "Replied" worden. Dann hast Du keinerlei Aufwand mehr mit dem Merken der Strukturadressen und dem Vergleichen. ---------------------------------------------------------------------------- Viel Spass noch Klemens ----------------------------------------------------------------------------
Technical Details
Message-ID:
<2156C67FH000CD141H@klemens.dc.han.de>Path:
arc1-ca.pugleaf.net!dc.han.de!KlemensReferences:
<wYYdLMD356aez2@p-zimmer.ame.osn.de>Show Full Headers
Complete Article Headers
Newsgroups: fras.text.programmieren,z-netz.rechner.amiga.programmieren CC: S.ZIMMERT@ame.osn.de (Steffen Zimmert) Message-ID: <2156C67FH000CD141H@klemens.dc.han.de> From: Klemens@dc.han.de (Klemens Meyer) Path: arc1-ca.pugleaf.net!dc.han.de!Klemens Return-Receipt-To: klemens@dc.han.de (Klemens Meyer) Subject: Re: Messageports und ReplyMsg() Date: Fri, 22 Sep 1995 17:50:39 +0200 X-Mailer: -- The Answer V3.05 References: <wYYdLMD356aez2@p-zimmer.ame.osn.de> X-Gateway: ZCONNECT UP royal.owl.de [UNIX/Connect v0.73] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit