Article View: comp.sys.mac
Article #26471Re: A/UX window systems, Mac tool...( Hum Interface)
From: Larry Rosenstein
Date: Thu, 17 Mar 1988 18:00
Date: Thu, 17 Mar 1988 18:00
39 lines
2496 bytes
2496 bytes
In article <1174@cpocd2.UUCP>, howard@cpocd2.UUCP (Howard A. Landman) writes:
>
> Under MultiFinder, each program (except possibly the last one) must be
>specially coded to be "MultiFinder compatible" by calling WaitNextEvent
>instead of GetNextEvent (if I don't have them reversed).
Not true. WaitNextEvent exists only to more effectively use the CPU.
GetNextEvent can cause a context switch as well.
>problem? Because it only takes one or two programs which fail to do this
>before MultiFinder fails to grant any CPU time at all to the lowest
>priority task. Why is this a problem? Because there are lots of Mac
>programs out there which were written before MultiFinder and are still
Your arguments are valid in general, but the particular case you site does
not occur. 99% of Macintosh application call GetNextEvent regularly, and
such applications work fine in the MultiFinder environment.
If an application is computing some result, then it might not be calling
GetNextEvent. But some applications do call it while computing (in order to
test for a cancel request), and these application will yield the CPU to
lower priority tasks.
> This was too restrictive, so MultiFinder was invented AS A KLUDGE to allow
> background tasks to run IF THEY WERE SPECIALLY CODED. But not everything is,
> or ever will be.
This is not strictly necessary. A background task does not need to call
WaitNextEvent. There are some (pre-MultiFinder) public domain programs that
run fine in the background. These are the programs that call GetNextEvent
while doing some computation. It turns out that the logical way to allow
the user to cancel a long computation involves calling GetNextEvent, and
such programs will run in the background very nicely.
--
Larry Rosenstein, Object Specialist
Apple Computer, Inc. 20525 Mariani Ave, MS 32E Cupertino, CA 95014
AppleLink:Rosenstein1 domain:lsr@Apple.COM
UUCP:{sun,voder,nsc,decwrl}!apple!lsr
Technical Details
Message-ID:
<7721@apple.Apple.Com>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!pyramid!voder!apple!lsrReferences:
<4129@hoptoad.uucp> <283@rhesus.primate.wisc.edu> <1710@ssc-vax.UUCP> <1174@cpocd2.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!pyramid!voder!apple!lsr From: lsr@Apple.COM (Larry Rosenstein) Newsgroups: comp.sys.mac,comp.windows.misc Subject: Re: A/UX window systems, Mac tool...( Hum Interface) Message-ID: <7721@apple.Apple.Com> Date: 17 Mar 88 18:00:25 GMT References: <4129@hoptoad.uucp> <283@rhesus.primate.wisc.edu> <1710@ssc-vax.UUCP> <1174@cpocd2.UUCP> Organization: Advanced Technology Group, Apple Computer Lines: 38 Keywords: window human computer interface