🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #20497

Re: What does access memory manager' mean?

#20497
From: Ed Tecot
Date: Sun, 18 Oct 1987 23:49
39 lines
2610 bytes
In article <1329@cartan.Berkeley.EDU> lippin@skippy.UUCP (tom lippincott, ..ucbvax!bosco!lippin) writes:
>Recently tecot@apple.UUCP (Ed Tecot) said:
>>In summary, QuickDraw is reentrant, but it's dependency upon the memory
>>manager precludes its use during interrupt time.
>>						_emt
>
>
>Where were you a few months ago when I needed to make use of this?
>I was only writing a prototype of a program, and I figured that
>locking down everything in sight and trying this would be safe enough
>for my purposes.

How can you guarantee this?  Any region call (such as when a window is moved
so that it's visRgn changes) could cause a call to SetHandleSize which may
relocate the block.  I don't know what happens if the block is locked; but
it's not good in any case.

>I had a VBL task doing some drawing; I wanted characters, but would
>settle for lines, or a copybits call.  Meanwhile, the main program
>wanted to draw sometimes.  What happens?  Whenever the main program
>is interrupted while drawing over the cursor, it leaves a cursor image
>lying on the screen.  Fine for drawing pine forests, but not good for much
>else.
>
>I eventually tracked this down to the QD cursor globals getting confused,
>and had the VBL task save and restore them as necessary.  Another
>not-so-good step, but it certainly looks like the calls were *not*
>reentrant.  I hope you're not speaking for Apple on this one.

The cursor code may not be reentrant, but the remainder of QD should be.
If you are drawing at interrupt time, and I don't think you can do any more
than off-screen CopyBits, you probably have to be very careful as not to
get in the way of the cursor.  I personally recommend that you not draw to
the screen at interrupt time; there are clean workarounds to be had.

I still stand by my QuickDraw claims (but not as an Apple Representative).
(I do not consider the cursor code to be QuickDraw)

						_emt
Technical Details
Message-ID: <6497@apple.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!amdahl!nsc!voder!apple!tecot
References: <5365@jade.BERKELEY.EDU> <10620001@hpfclm.HP.COM> <1319@cartan.Berkeley.EDU> <6471@apple.UUCP> <1329@cartan.Berkeley.EDU>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!amdahl!nsc!voder!apple!tecot
From: tecot@apple.UUCP (Ed Tecot)
Newsgroups: comp.sys.mac
Subject: Re: What does access memory manager' mean?
Message-ID: <6497@apple.UUCP>
Date: Sun, 18-Oct-87 19:49:37 EDT
Article-I.D.: apple.6497
Posted: Sun Oct 18 19:49:37 1987
Date-Received: Tue, 20-Oct-87 00:47:26 EDT
References: <5365@jade.BERKELEY.EDU> <10620001@hpfclm.HP.COM> <1319@cartan.Berkeley.EDU> <6471@apple.UUCP> <1329@cartan.Berkeley.EDU>
Reply-To: tecot@apple.UUCP (Ed Tecot)
Organization: Apple Computer Inc., Cupertino, USA
Lines: 39