home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / de / comp / sys / amiga / misc / 2903 < prev    next >
Encoding:
Text File  |  1992-07-28  |  2.0 KB  |  39 lines

  1. Newsgroups: de.comp.sys.amiga.misc
  2. Path: sparky!uunet!darwin.sura.net!jvnc.net!yale.edu!ira.uka.de!rz.uni-karlsruhe.de!rz.uni-karlsruhe.de!ry41
  3. From: ry41@rz.uni-karlsruhe.de (Bernhard Moellemann)
  4. Subject: Re: Message mitten aus Port-Queue Reply'en?
  5. Message-ID: <1992Jul28.154253.10824@rz.uni-karlsruhe.de>
  6. Sender: usenet@rz.uni-karlsruhe.de (USENET News System)
  7. Organization: University of Karlsruhe, Germany
  8. References: <wjokr*z10@oberon.nbg.sub.org> <1992Jul12.153134.24575@rz.uni-karlsruhe.de> <xqZpr*Rg0@forge.erh.sub.org>
  9. Date: Tue, 28 Jul 1992 15:42:53 GMT
  10. Lines: 27
  11.  
  12. In article <xqZpr*Rg0@forge.erh.sub.org>, barnard@forge.erh.sub.org (Henning Schmiedehausen) writes:
  13. >Ja,  ueber das Thema haben wir ja schon diskutiert.  Das ist aber das einzige
  14. >belegte C= Beispiel, und auch nur fuer das Schliessen eines Fensters.  Daraus
  15. >das  Recht  abzuleiten,  die  Warteschlangen frei zu manipulieren, ist sicher
  16. >gewagt.
  17.  
  18. Es steht nirgends, wie in der ExecBase "private" oder "read-only" dabei.
  19. Im Exec-Manual ist alles genau beschrieben. Das ist wirklich eine der
  20. Strukturen, die Du manipulieren darfst.
  21.  
  22. >Eine  Frage  haette  ich  noch:  Ist das Beispiel eigentlich wirklich 'safe'?
  23. >IMHO kann ja ReplyMsg() das Forbid() brechen, weil dabei (mit MP_SIGTASK) ein
  24. >Reschedule stattfinden kann.  Dann koennte ja theoretisch *IM* Forbid-Zustand
  25.  ^^^^^^^^^^ gerade der wird doch durch das Forbid() __verhindert__. 
  26. Sonst waere Forbid() doch sinnlos.
  27. >eine neue Message ankommen.....  =:|
  28.  
  29. Die einzige Unsicherheit besteht darin, dass PutMsg() zu den im Interrupt
  30. erlaubten Funktionen gehoert, und deshalb bei Ports, die auch per Interrupt
  31. gefuellt oder geleert werden, ein Disable() statt Forbid() zu verwenden ist.
  32. Darauf wurde ich allerdings auch erst von Ralph Babel hingewiesen.
  33.  
  34. -- 
  35.  Bernhard Moellemann   <spare space>   Chairman of the Nessy-Fan-Club   //
  36.  internet=zza@rz.uni-karlsruhe.de <space> FIDO=2:241/7506.42  IRC=ZZA  //
  37.  nessynet=008  Lifenet=77:7700/11.42  greetings to my Marsupilami  \\ //
  38.  2000/500 Technical Reference Manual:  "A1000, the original Amiga"  \X/
  39.