Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!lll-lcc!well!ewhac From: ewhac@well.UUCP Newsgroups: comp.sys.amiga Subject: Re: New PopCLI Message-ID: <4646@well.UUCP> Date: Sun, 6-Dec-87 16:47:41 EST Article-I.D.: well.4646 Posted: Sun Dec 6 16:47:41 1987 Date-Received: Sat, 12-Dec-87 08:41:42 EST References: <799@rocky.STANFORD.EDU> Reply-To: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Organization: Time Distortion Enterprises. Lines: 45 Keywords: Do Not Use! Summary: (sung childlishly) I know why it brooooke, I know why it brooooke... In article <799@rocky.STANFORD.EDU> rokicki@rocky.STANFORD.EDU (Tomas Rokicki) writes: >Don't use the PopCLI I posted; if you stick in a disk when it is drawing its >pretty patterns, the machine will lock up. Must be something to do with my >Forbid(); Draw(); Permit(); so don't use that either until I figure out >what's going on. (I just found this bug a few seconds ago and will debug it >when time permits.) [ ... ] Consider the internal implementation of Draw(): OwnBlitter (); for (i=0; i < NUMBER_OF_PLANES; i++) { WaitBlit (); /* <--- This is the important bit */ FillBiltterRegisters (); StartBlitter (); } DisownBlitter (); Now, imagine a Forbid()/Permit() pair around this. When you call WaitBlit(), you may block. If you block, you temporarily give up your right to Forbid() the system. It is at this point that your drawing subtask (which I strongly suspect is similar to the one you posted recently) may get RemTask()ed out from under its feet. Great. The task now owns the blitter. The task also no longer exists. Can you say "system locked up tighter than a drum"? I knew you could. I said it before; I'll say it again: It is *NEVER* kosher (from an academic standpoint, admittedly) to arbitrarily RemTask() a running task. *ALL TASKS MUST RUN TO COMPLETION TO PRESERVE COSMIC SERENITY.* >Re: Matt's detach comment, right on, Matt! Now, Jim Goodnow, will you let >me post a new _main() for 3.4b from the one in Leo's robotroff and the new >library sources for 3.4b? Or better yet, write one for me and post it? >This detach business should be handled by the compiler, IMHO. > I'll consider this another request for a 3.4 version of Robotroff's _main. It's really quite easy, and I'll try to get around to this one as quickly as I can (is this a euphemism for "Real Soon Now"?). _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape ihnp4!ptsfa -\ \_ -_ Recumbent Bikes: dual ---> !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor